Haskell didn’t have much practical benefit to me, either. After getting through the book there was nothing pushing me onward.
I’ve recently begun my second attempt into the functional world, this time with ClojureScript. I intend on writing about this journey over the next few months, so let’s get started.
It took only a tiny introduction to the functional world to realize how different solving problems could be. My slight foray into Haskell already changed how I think about building applications and organizing code. I figure I could get more bang for the educational buck by learning a fundamentally different way of solving problems with a functional language compared to picking up another OOP language.
There are two closely related, yet distinct points to this that I think are worth mentioning.
There are some circumstantial reasons that have led to Clojure being on my radar.
One of the books that I started reading this year was the Structure and Interpretation of Computer Programs. I have only read the first three sections of the first chapter, but that gave me enough lisp knowledge to understand the basic semantics of languages that follow the lisp structure.
Since my experience and relevancy is rooted entirely in building user interfaces in the browser world, tools and approaches that I can relate to my problem set win over other concepts, such as the “proof”-iness that Haskell provides.
This is the sticking point. I am a very driven, self-motivated individual, but am terrible at focusing on any one thing for long enough to complete it. I am regularly spinning up new experiments and rewriting side projects long before getting them out the door.
Because ClojureScript can help solve problems I have building user interfaces is a huge plus to sticking this through. Honestly, that’s probably the primary reason that I will continue with it for any length of time.
Everything else will be myself experimenting on myself. Setting myself a commitment to write about my journey I hope is enough perceived social pressure to keep going.
These words brought to you by Dustan Kasten. A friendly, bearded, husband, father, and user interface engineer living in Charlotte, NC. Considers himself quite partial to React.js these days. Find @iamdustan on Twitter