December 31, 2020 ~ 4 min read

Top 3 programming languages to learn in 2021.


Javascript is everywhere

JavaScript

More like "still everywhere". I said so 3 years ago and it was already common knowledge, now even more people know about it. "The Sun rises in the East" type of statement. Some were happy, some were not, but now JS has evolved, TypeScript got more popular, we got Deno, the march goes on, and so the language is still the lingua franca of programming: mobile, web, backend, desktop apps, ML/AI, you name it, you can probably create it with JS.

Learning materials have become even better than they were, so compared to other programming languages, ease of learning, and finding help, JS is still firmly at the top spot. Content creators have stepped up their game and introduced new courses. There is soooo much high-quality material for free on YouTube and paid content is out of this world.

Closest to my heart would be Scrimba's Frontend Developer Career Path. Simply because of how comprehensive the content is and it can easily be the core stop to get a job. The Discord community is great and it's amazing seeing how people learn and get their first jobs in the industry. I loved being involved in curating materials with my wife for the career-path, reviewing courses, and helping out the core team. </humble-brag>.

What more can I say? If you're not sure what interests you most, your friends or the web hasn't sold you on anything in particular, definitely learn JS. It's a win-win bet.

C#

Ok, I am biased here too. C# is what I write in my daily job. So no surprises, of course, I'd recommend people learn it. The learning curve is a bit steeper, it needs some initial setup, but it just jumped ahead in the last 3 years. With the latest .NET 5, you can write code with almost no boilerplate and you can use C# everywhere: mobile, backend, frontend, ML/AI, cloud apps, desktop apps. And if with JS you kinda know that you can create all of it, with C# you've got a guarantee from Microsoft that you can.

For newcomers, it might be tricky to get familiar with .NET ecosystem as it's a very curious mix of old and new, but Scott Hanselman has a really nice video to clarify everything.

One of the JS's downsides is that things move too fast and the ecosystem is volatile, C# is the opposite. You can very safely build something and forget about it for decades, which is why if you want to get a job at a bank, but Java makes you sick - C# is your go-to.

The demand is for C# devs is high and it's pretty pleasant to work with.

Elixir

Ok, so I hope this pick caught you by surprise. Elixir is definitely gaining a lot of popularity and it's 100% deserved. Why? Possibly because it's the most useful from the easiest to learn functional languages; or maybe because functional programming (FP) is trendy and hype and Elixir is a pleasure to learn; or maybe because most Ruby devs now switch to Elixir in droves (creator of Elixir used to be a Ruby on Rails dev).

Think of it as FP's Python or Ruby - friendly and helpful, won't bite your hand off if you make a mistake - error messages in Elixir are just heavenly and very helpful; "Let it crash" attitude is not novel, but definitely rare in the industry; the docs are amazing and learning it as a 2nd, 3rd and so on language just feels familiar.

Elixir runs on ErlangVM and has an astonishing foundation. I will leave the amazing reasons why you should learn it to someone who's got production experience in it, taken from here:

  • Is fun and easy to use
  • Has the ability to meet modern user demands
  • Has a rewarding career progression
  • Has an active and supportive community
  • Has a range of helpful tooling
  • Has frameworks to allow full-stack development
  • Has easily accessible documentation
  • Ensures you grow as a programmer.

Elixir has a surprising level of maturity to its ecosystem, and feels 29 years old and not 9. Built-in best practices will ensure that even if you're starting your programming journey with Elixir you will not regret your choice.


Maxi Ferreira

Hey! Thanks for reading! Follow me on Twitter @alanmynah to let me know what you thought, keep in touch or ask questions. Would be super happy to have a chat!