Elixir as the first programming language?

Finnish is longer than German, and I consider German being somewhat hard, so Finnish must definitely be even harder.

:slight_smile:

1 Like

Oh, I didnā€™t expect so many responses, thank you for that

I didnā€™t realize that ruby and elixir are very different languages despite the similar syntax

initially, I wanted to study ruby, but while studying information about ruby, I often saw references to the elixir and its benefits, I became interested and started looking for information

then I saw this: https://www.twitch.tv/videos/346879863

I looked at examples of other code and against the background of other advantages that I read about, this language seemed very attractive to me, and in any new learning, attractiveness and desire play a key role

at the moment I work in affiliate marketing, as an affiliate manager, and in the future I would like to write a product (solution) that will simplify the work of many affiliate managers

I do not know how much time it will take, 2 or 3 years, but I am ready to devote 2-3 hours a day to studying, it is probably not enough, but I will try

The thing about functional programming is that some people need to see the flaws of the other styles before embracing it. The college I went to pushed FP heavily in freshman courses but it seemed, back in the day, you could achieve little with it practically. Also, in the early 2000s it wasnā€™t exactly helping job prospects. It seemed like a purely academic exercise.

After working in my field for a decade, my style started to head back towards FP anyway. I always stayed a fan of Lisp and Scheme (which I taught myself, it wasnā€™t ā€œpureā€ enough for college profs), I used the map() function in Python a lot, etc.

My field of employment is telecoms. I learned Erlang early 2016 and made the switch to elixir about two months later. Not only is the language a perfect fit there, it was made for the stuff, though I see that people in the elixir community seemed to tend towards more web programming than telecoms, I take from Erlang whatever I need. There was definitely some fiddling involved in the early days with elixir 1.2 and 1.3 to learn how to make things like :gen_fsm work. But it was well worth it.

After having seen the myriad of problems you get into when programming C++ and the ill-advised ā€œevolutionā€ of the language, elixir was not only a breath of fresh air, it also further transformed my thinking about code. elixir is sitting right at the intersection of pragmatic and functional, allowing you to put out code faster than in any of the type-obsessed languages and reaping almost all the benefits possible in FP. (Type-inferred polymorphism like in Haskell can be useful, after all, but the type system can also drive you nuts.)

Solving problems in elixir, Erlang, or even Lisp or Scheme, has its own mode of thinking. Itā€™s mostly about data structures, how you wind your way through lists and maps, how you build them, how you run over them, etc. For tuning it, a grounding in how memory in general works at the system, OS, library, and BEAM level helps. If you have handled pointers and smart pointers before you switch to a garbage-collected language, you get a more complete picture. You become a better, more complete programmer. But it is not required as such.

Everything you learn will put something in your toolbox, or teach you a caveat. Smalltalk for example teaches you that abandoning operator precedence for language purity is ā€¦ a questionable choice. But it was fun to play with. C and C++ force you to think about memory all the time and about ever more complex internal, behind-the-scenes mechanics. C++ also ā€œteachesā€ you how to not design a languageā€¦ :lol: :wink:

elixir takes part of its heritage from Lisp, part of it from Erlang. It has IMO better syntax than Erlang. It might be also worth looking at lfe (Lisp-flavored Erlang), depending, but elixir is becoming valid for job-seekers.

For me itā€™s never been ā€œeither-orā€ but only ā€œwhen.ā€ Rubyā€™s code blocks are a nice feature that make the language fun to play with. I have no idea how it behaves on concurrency, but for example python does abysmally there and is also slow. It really depends what you want to do. For parallel programming and utilizing many cores, elixir is awesome. Itā€™s more than reasonably fast, and on string-processing and stuff like JSON or XML it blazes through large datasets like nothing.

And people need to chill about spoken language analogies. :lol:

I am in a situation where I need to learn Elixir as a C, perl, etc. programmer and to mentor a non programmer in order to work together on a long term elixir project (choice based on an FP must) which will make us to progressively know it deeper. (Private project)

[zervis] gave a list of resources. Is every best here and what would be the really first reading after a javascript self-training?
Thx!