Is anyone finding it difficult learning Elixir or Phoenix?

It’s simply a matter of determination - unlearning acquired habits can require significant effort.

I’ve been “visiting” Haskell since ~2000 and while early on that introduced me to the idea’s of fold, map and filter it just seemed too strange from where I was at (C, C++, Java, C#) to feel that I could “program Haskell” when I hit Real World Haskell (these days go straight to Haskell Programming from First Principles).

Even followed F# since 2005 - but in hindsight I believe its association with the .NET framework made it too easy (and to some degree necessary) to stick to the old imperative habits (straight OCaml may have been a different story).

So it wasn’t really until about late 2015 when I tried Clojure that things started clicking. It embraced immutability and I wasn’t getting bogged down with adapting to a real type system (classes aren’t types etc.). So I’m inclined to say that one may need to find a language that is different enough to keep one away from those old habits (e.g. Racket) while not going so far that you are totally lost (e.g. Haskell).

To a certain degree Elixir’s Ruby-like syntax and name rebinding can make a certain imperative style more easily possible. So if you do find that even after Learn Functional Programming with Elixir (Pragprog) (though doing the exercises should certainly help) it doesn’t quite click maybe take a detour into Erlang - to move into even more unfamiliar territory - like with Learn You Some Erlang for Great Good!.

Other than that seek out small focused katas - some people seem to like exercism.io to learn more by doing.

2 Likes