Do you plan to learn Erlang?

  • Yes
  • No
  • Already know erlang

0 voters

3 Likes

I feel like this needs a ā€œIā€™m picking it up as I go alongā€. Plan makes it sound like a dedicated thing.

8 Likes

Iā€™d differ here between Erlang as a language, which you really donā€™t need to learn unless you have to. There is no fun in reading its source and having to keep three different kind of expression delimeters in the forehead is somewhat ugly sometimes. Reorganizing some top-level pattern matches is really nasty if one of them was the last one in the chain before the changeā€¦

, separates expressions the usual way, very similar to Cs ;, which again in erlang means ā€œend of blockā€, sometimes it resembles elixirs end but only sometimes. The last one is ., which ends the definition of a function or anything ultimatively, if you forgot it or put one to many or to early or to late, nothing works anymore with the funniest errormessages, which usually donā€™t even tell the name of the function you did it wrong. Very similar to a forgotten ; in the early 90 in C code.

Doing ; or , wrong may compile, but donā€™t have to. If it compiles you are basically lost in runtime errors, if it doesnā€™t it is similar to ..

To be honest, I still like to work with erlang directly, because it is much more spread, and I can rely on having it in default repositories of most linux distributions, even if the version available may be a ā€œbitā€ aged.

On the other hand side, you do have the erlang stdlib and kernel applications, which in fact are transient dependecies of the elixir application. I really think everyone using Elixir should be aware of the erlang modules residing in both applications that arenā€™t directly wrapped by Elixirs stdlib.

Also sometimes understanding erlang and beam, does help to understand some of the things that feel weird in Elixirā€¦

5 Likes

Iā€™d love to! But I have to say no. Iā€™m rather spending my time for other more enjoyable languages, like haskell or elm. Syntax is really important for me. And after many years coding php Iā€™m really happy using elixir. When I see erlang code I do not feel the desire to learn it. Still I think it would improve my skills with elixir. If in the future I will be able to set aside this feeling Iā€™ll give it a go.

5 Likes

Apparently I need to know enough to read documentation. So I didnā€™t plan on it, but Iā€™m picking it up (minimally) out of necessityā€¦ :frowning:

1 Like

:+1: for ML languages :slight_smile:

1 Like

I actually ā€œstartedā€ by reading Learn You Some Erlang but stopped at the middle of the book for some reason. I guess itā€™s one of those things Iā€™ll get to some day. Honestly Elixir isnā€™t that big of an abstraction, itā€™s one of the reasons I like it.

2 Likes

I answered ā€œAlready know erlangā€ but only because Iā€™ve been doing Elixir long enough to delve into it by reading Programming Erlang by Joe Armstrong and Designing for Scalability with OTP/Erlang by Caesarini and Vinoski. Both are great books for Elixir programmers. They teach so much about the underlying ideas behind OTP.

Iā€™m mostly at a read-only level with erlang, but havenā€™t written much. Itā€™s not hard to learn to read for Elixirists.

4 Likes

Interesting, Iā€™m waiting on those two books to be delivered and delve into it. Iā€™m not interested in Erlang perse, but Iā€™m more interesting in doing things the Erlang way.
I really believe you have to be wary of applying your existing programming paradigms wrongly to Elixir.

1 Like

Actually by learning and using elixir day to day, reading and understanding Erlang code becomes easier.

Elixir opens the doors to the BEAM and OTP, with time (and some dedication) I think you get accustomed to Erlang naturally.

1 Like

I think that I should know the base of Elixir, so I will learn Erlang!

I seem to have come from the other way. Iā€™ve known Erlang for almost ten years, have a lot of code in it. I only picked up Elixir in the past 6 months but I see how thin of a layer it is on top of Erlang and as such it was really easy to pick up, especially by reading it most base Erlang code that makes Elixir, Elixir.

I do not know of the ruby influences on Elixir as ruby is one of the few ā€˜mainstreamā€™ languages that I do not know yet, but from what little I have known of it is that the ā€˜monkey-patchingā€™ (Python terminology, unsure if the same in Ruby) is pretty much taken to an extreme, and from my experience in Python (where monkey-patching is possible but is extremely looked down upon, kind of like macros in Elixir) the few areas it was really needed it was still hacky, so Iā€™ve tried to stay away from Ruby overall. Elixir on the other hand is built on Erlang, there is no monkey patching, macros are well thought out and very limited in scope on what they can interact on, and the community seems to askew using macros when ā€˜functions will doā€™, which is how it should be. :slight_smile:

EDIT: Oh, as well as heard of Rubyā€™s speed issues, I.E. it is even slower than Python (ā€˜why not just use python then?ā€™ was my general thinking for years)

1 Like

Like others have stated, by learning and using Elixir more and more, I will inherently begin to understand Erlang more. Then I feel I will need to dive into it deeper to better utilize itā€™s capabilities with the BEAM and OTP.

3 Likes

Only as much as I need to in order to be able to make use of Erlang libraries, const definition files (for defrecord purposes, normally), and some Erlang code examples here and there.

Besides that, the language doesnā€™t really appeal to me.

1 Like

Same with me, I couldnā€™t finish the book because I just got caught up with other events. I still plan on finishing it and finishing Erlang Programming By Francesco Cesariani and Simon Thompson. Thereā€™s a lot in both books about the BEAM and how Erlang works that applies to Elixir. Just understanding why things work they way they do seems very beneficial to me.

I want to know enough Erlang to where I can read code in other projects to understand how they work and how they applied OTP.

1 Like

I reached this to know whether I should learn Erlang or not. So my answer is No as I donā€™t want. But I feel it is necessary.

I was deceived that I should learn Erlang.

I donā€™t think it is necessary, but it is fun! Erlang is an awesome language.

Erlang, as a language, is simple. The specification is small and consistent. Normally the hard part for people learning erlang is that they transition from an OO language, so functional programming is new to them. Then of course the hard part is grasping message passing, processes and the OTP framework. Iā€™d say these are the same things people have problem with starting out with elixir as well and anyone programming in elixir will be able to pick up erlang pretty quickly

Hm, I think it is necessary, since most of the projects for beam are written in erlang. And itā€™s good practice to read good source code from time to time.

Perhaps I have a different definition of learning.

To know and use a language you need to learn it. To read it you just need to know the basic syntax.

For example I donā€™t know lots of languages but I am perfectly able to read and understand them even if I wouldnā€™t be able to develop in them.

It is of course helpful if you know the basic syntax of erlang, but do you need to read erlang code? I guess it is project specific. In my phoenix web development I donā€™t think I ever had to look at the erlang code for anything.

I guess it is project specific

Yeah, I guess itā€™s true. I had to write a media server, and since all of the good ā€œserver codeā€ is in erlang, Iā€™ve read a lot of it.

2 Likes