Hacker News new | ask | show | jobs
by rkangel 1403 days ago
I would recommend starting with Elixir. Elixir is a dynamic functional language, unlike Haskell/Ocaml etc. which are statically compiled languages.

This means that you can learnt he basic concepts of operating on data with pure functions, pattern matching etc. Plus it's a nice language that is great for building a lot of things (Phoenix is a great web framework).

Once you've got some of that background of how you build functional programs rather than OO, moving to something like Haskell or Ocaml is a bit easier because it becomes more about understanding how to declare types to keep the compiler happy and less about the fundamental program design stuff.