Elixir would be a fine choice for learning back-end development, though I’d recommend learning Elixir by itself first
Personally I think that
Elixir is easiest language (especially when learning as first language as you do not have any OOP language in mind).
The most important part for developer is how nice code (to read quickly) you are able to write (
Elixir have awesome builtin support for lots of things like documentation) and how much code you need to write in order to achieve something.
(…) The new code is about one-tenth of the size of the old code. (…)
Other threads which may help you:
Dr. Stephen Strange: They really should put the warnings before the spell.
And honestly, that’s the reason why I left Node. It was the realization that: oh, actually, this is not the best server-side system ever.
- Being comfortable using the command line would be helpful. By extension in my personal opinion I think it would be helpful to work on a
*nixtype of platform. Some people seem to be successful with Windows especially when using the Windows Bash Shell - but I can’t help shaking the impression that Windows increases the amount of friction you have to deal with.
- Seems people like to use vscode-elixir-ls but your favourite text editor will do.
If I’m bashing anything it’s familiarity bias - which in my experience can only be countered by becoming familiar with alternatives rather than simply sticking to what you already know.
So it’s perceived as popular … which supports what conclusions exactly? According to this report PHP wins the “most widely used” contest (given that “server side” and “back end” distinction has become kind of blurry).
- I’d argue that there are a lot of peculiarities to Node.js that makes the back end experience far from typical (and some would argue less than ideal).
- Even Elixir delivers an atypical experience given the characteristics of the BEAM and OTP. Once you get used to organizing your code into processes (as value processors) which interact via messages it “just makes sense”. But it certainly isn’t as popular as the other contenders because it is so different.
- Java and C# I would categorize as the more typical back end experience. But because of their enterprise orientation their application frameworks tend to be fairly heavyweight (and at times overwrought).
- Go and Python are perceived as being more lightweight than Java/C#. If the hype is to be believed Go is starting to eat into all the others marketshare.
The Elixir ecosystem is great for backend programming. A great introduction would be Dave Thomas’ course, Elixir for Programmers. There you will learn how to create a backend game engine and a frontend game client that will give you a solid foundation for understanding Elixir. Good luck! And Welcome!
Learning the back end is more about learning programming principles and concepts that differ from the front end. A lot of newbies get lost and confused because they don’t have a solid understanding of back-end web architecture. Check out this article
Elixir is a wonderful language to get started with especially if you don’t have much experience with Object Oriented Languages. I would recommend Elixir to anyone new to programming. If you already know JS you should have no problem picking up Elixir. For example anonymous functions look very similar.
iex(1)> square = fn(x) -> x * x end
#Function<6.128620087/1 in :erl_eval.expr/5>
> let square = (x) => x * x;
Elixir is easy to get started with. You’re going to love things like Pattern Matching. Your biggest challenges will probably be OTP and concurrency but you can do a lot without really understanding OTP. Go for it, I think it’s the best back end language you can invest in.
Thank you master