Elixir: Finally found "the one"

learning-elixir

#1

Hello everyone. Aspiring / beginner Elixir programmer here…
Just wanted to share: For the first time ever, I found a programming language that just intuitively feels right.

A little background:
I have been attempting to learn OOP off and on over many years. The language that I personally liked the most in that process was Ruby. So you can imagine discovering Elixir was like finding a hidden treasure.

But for one reason or another, OOP never really “clicked” with me. This is not a criticism of OOP; it’s me. It just never seemed intuitive to me. It was always hard to visualize the concept of an object instantiating within an object, referring to something else, somewhere out there. I just couldn’t wrap my mind around it, try as I might.

Then I found Elixir and Functional Programming. It just makes sense. The concept of a function pipeline just seems so much more intuitive than doing things the imperative way or “OOP way”.

tl:dr; Elixir and Functional Programming, after many years of not being successful in OOP, just seem amazing to me in their simplicity and power.


#2

Great to hear. What learning material did you find the most useful ?


#3

I initially started with Dave Thomas’ Programming Elixir book. However, I realized that this would be a great second book and that I had to get the basics down first.

I signed up for the following course on Udemy and am about 1/3rd of the way through: The Complete Elixir and Phoenix Bootcamp by Stephen Grider. Excellent introductory course to Elixir!

And of course, I am trying to practice as I go by writing test programs, etc.

Looking forward to all of the Prag Prog books and the upcoming revised Elixir in Action book!


#4

I would recommend Elixir In Action when you are done with the course. That book will get you on the right track when it comes to processes and architecture https://www.manning.com/books/elixir-in-action


#5

Thank you for the recommendation! I will make it a point to read that book next.


#6

@Igor7 I’d also highly recommend this course on Elixir from The Pragmatic Studio (assuming you’re still in the market for great learning content). This series was a blast - source diving into GenServer and OTP primitives but it felt like watching Bob Ross :slight_smile:


#7

Your story is very similar to mine. I tried many OOP languages and Ruby was by far my favorite. The simple elegant syntax of Ruby is what I loved about it. However I found the inheritance model of Ruby was quite a beast to tame.

There was also a lot of Magic especially in the Rails framework that I was struggling to wrap my head around. Then I discovered Elixir and never looked back. Elixir has been such a joy to work with. Everything just seems to click and make so much sense.

The most challenging part of learning Elixir and Erlang for that matter was OTP, Concurrency, and how the Beam handles strings. I thank Jose for creating this wonderful language. I’m hoping Elixir and Phoenix exceeds the popularity of Ruby and Rails. I wish I had a bunch of money to throw at Jose so he could focus on making Elixir even more awesome then it already is.


#8

Thanks for the tip. I picked up the course this morning, and have gone through a few videos already. Really digging the style and pace - great recommendation, appreciated!


#9

I also liked this other video course from Pragmatic Studio: https://pragmaticstudio.com/courses/unpacked-multi-player-bingo-with-elixir-phoenix-vue-elm

For me it really helped solidify how the supervision trees are set up and how everything works together. Even if not doing a Phoenix app, the basic concepts are the same.

Another good resource was https://shankardevy.com/phoenix-book/ . He did a BDD/TDD development process, which I liked because most other tutorials barely cover it.


#10

I had a similar experience with Elixir, @jeroenvisser101 told me that he had seen an amazing language and that I should check it out. Right before going on holiday I bought https://startlearningelixir.com/r/take-off-with-elixir and did sight-seeing during the day and reading during the evening/night. Week later I was hooked.


#11

IMHO I found “Object Oriented Software Construction” by Bertrand Meyer perhaps one of the best explanations regarding OO. It isn’t a how-to book as much as a why-to book. It is also surprisingly a very easy read.


#12

Stephen Grider is a great teacher, with great presentation skill.