As a beginner programmer, already having learned some JavaScript and considering learning React to build on your JavaScript knowledge or switching to Elixir, here is some information to help you decide.

If you want to stop reading here, and just walk away with the answer that would apply to the most amount of people: JavaScript.

The easiest answer would be to learn both. The most powerful/amazing/heavy-duty/military-grade stack that anyone could conceive in 2018, would probably be an Elixir back-end with a JavaScript/React front-end. Facebook uses both technologies. They use React to build their Front-end and Erlang (Which Elixir is built on) to build some of their back-end. I am not making a job at Facebook the goal here, it’s just that they are doing what they do at a higher scale than anyone else, and we can learn something from them.

Some pro’s for each:

Javascript:

  • Much more popular. More people who can teach you further or help you when you get stuck. More games and other fun resources for learning Javascript.
  • If you don’t know anyone that will help you with learning Elixir, you should probably choose Javascript just for that.
  • Easier to find a job working for someone else, part time or full-time. Just google React Developer Jobs. There is a TON out there.
  • Using React, it would take you less time to build something that you or someone else really would like to use. Some game, or a way to calculate something. This is because you could build a cool and useable front-end without worrying about a back-end.

Elixir:

  • It feels like space-age technology. The things it does well, it does WAY better than anything else.
  • All other web servers I have ever seen, measure their response time in milliseconds that is Thousandths of a second, under 200ms is fine. Elixir web servers are the only ones I have ever seen that measure their response in microseconds, which is Millionths of a second. You probably don’t need this, it’s just crazy cool. It feels like the future.
  • If you became good at Elixir, you would have a niche that less people have. (long term) If Elixir became very popular in the future (this is a risky bet) you would be able to help a lot of newcomers who needs to know this to get a job, or help a lot of companies, that used the technology because it is popular, but now need an expert to help them with it.
  • You would need to spend more time with Elixir before being able to build anything useful, you would need to learn about the back-end and front-end and how the two interacts, but after you do, you would be able to build very interesting systems with multiple users interacting with each other.
  • If you ever wanted to start your own business, building something on Elixir might be a better choice. There are too many flashy things that look cool to compete with as a lone programmer, you will not win by building a more flashy front-end, you would need to look for something useful that doesn’t exist, and even if it is a bit ugly at first, people will use it because they need it.