Learning Clojure
Learning Clojure
My FP journey
I first took interest in functional programming languages by learning about Haskell and being amazed by it. I was amazed by all the functional tools at my disposal and by the way they fit together. This started my journey on the path of learning more about functional programming.
After I had my fair share of fun with Haskell I quickly jumped to Erlang which was a programming language quite different from anything I had seen up until then. GenServers, Agents, Supervisors, it was all new to me but at the same time very interesting. The only problem with Erlang was its age, meaning it was hard to develop modern applications using it.
I was searching for a language maybe similar to Erlang. I stumbled across a perfect language that was just what I was searching for Elixir. Its Erlang roots, beautiful syntax and a modern set of features made Elixir my favorite programming language by far. It is the only FP language that I used to develop serious projects using the Phoenix web framework which is in fact my favorite web framework. I have nothing but praise for Elixir and its development team.
Now the question is why learn Clojure if I am happy with Elixir. Well a problem I found with Elixir was its lack of support for DeepLearning. Don’t get me wrong there are awesome libraries for that purpose like Axon but in their current state they provide quite a bit of headache and they aren’t used very much so it’s pretty hard to get help when working with them. I had heard many great things regaring Clojure and ML so I decided to try to learn Clojure.
Learning Process
I like learning about programming from reading books so I decided to pick up Clojure for the Brave and True and learn Clojure from it. I also wanted to document my journey on this blog so I will be posting my notes as I go along with the book. I am really excited to learn Clojure because it looks really fun.