Erlang why learn
Collectives on Stack Overflow. Learn more. What is the best way to learn Erlang? Ask Question. Asked 12 years, 4 months ago. Active 8 years, 5 months ago. Viewed 67k times. Active Oldest Votes. I'm a month-or-so into learning and the guides I'm enjoying most are: The Erlang Site's Getting Started with Erlang Guide Joe Armstrong's Book Software for a Concurrent World thoroughly recommended And I have on order: O'Reilly's Erlang Programming which has had some really positive reviews and sounds like a good companion to Joe Armstrong's book covering many of the same topics in greater depth, possibly with more "real world" examples I think you can dive into the Getting Started guide straight away and it will certainly give you a feel for functional programming and then concurrency.
Sadly, the FizzBuzz link is broken. Add a comment. It also has an RSS so you can be informed when if? I found this to be a nice 'quick start guide'. This website talks about the nifty gritty detail of Erlang. Once you learn to you use it, you will probably open an online petition so your day to day programing language gets this feature soon. The whole concept of having millions of tiny processes composing your system, working in harmony to reach a solution, sounds cool enough to start learning Erlang already.
Learning the actor model will let you improve the ways you understand OOP. For a language that comes with a complete new paradigm like concurrent programming, I think a rather different syntax is also interesting.
As a project to learn Erlang, I tried to create a Redis clone in Erlang. You can read some of those adventures here and here , and some slides here. To sum it up, why you should learn Erlang? Keep in mind that the more you write pure functions , function that always return the same value for the same arguments, the easier it will become to prove that code correct, for example by writing unit tests for it. Erlang has the notion of pattern matching. Finally the syntax will help you navigate through the moody waters of new concepts, reminding you that what looks like this is actually that.
In all actuality, letting it crash is not about crashing for the user or the system. That is something Erlang tries very hard to avoid. Rather, it is about containing failure when it inescapably happens, since in life, things do sometimes fail.
Shit happens. At the bottom leaves of the tree, we have worker processes — the ones doing most of the work. Up from them, we have supervisors, which launch the workers and check up on them. Supervisors themselves can be supervised; we can easily add a Grand Supervisor on top of the tree here.
In case a process crashes, it sends a message to its supervisor. Depending on the supervision strategy set, either just the process is restarted or all of the processes underneath its supervisor are. At that point, the responsibility to try to handle the problem is pushed upwards to the next supervision layer. The main one is Elixir.
He took Erlang and made a thin layer on top of it that had a more modern syntax that resembled Ruby. The resulting language was an improvement over both Erlang and Ruby. It experienced a decent popularity surge in , when Phoenix , its main web framework, was released. You can read more about Elixir and Phoenix in our introduction to Elixir.
Everything you can do in Elixir, you can do in Erlang as well, and it is possible to call both languages from each other. If the last is true, I would actually point your way towards Elixir. While both languages are great to use, Elixir is the one that seems to be more popular lately.