Some Thoughts on Learning Clojure

This year, I was supposed to learn Clojure. I told myself that I was going to. I had been planning to pick up another language that is very different from Ruby and round out my skillset a bit.

Over the past few years a bunch of people have told me that I would probably like Lisp. I’ve also been reading a book in Scheme, and Clojure’s pretty much close enough. A bit more useful for web stuff, too.

As far as I can tell, I’m having two problems:

  1. I’m way worse at it than I anticipated. I’ve been all OOP all the time lately and if you need an OOP solution to that I’m like yeah cool, but a functional one? I’m one line of code away from the blue screen of death.

  2. Too many unknowns. It takes me forever to figure out why something’s not working. I’m pretty bad at debugging problems in Clojure. I have no Clojure friends to help if I’m super stuck somewhere either.

I made a tiny Clojure API the other day and about halfway through I was sure I was losing my mind. It’s awesome now that it’s working but it was a serious struggle there for a moment. All it does is return some trendy women’s fashion products under $50— it’s modeled a bit after a feature in the PS Dept. app and we dreamt up the initial idea for it in the #fashion Slack channel. I’d like to expand it but am also really happy that its one endpoint is a success, so we’ll see.

I’m starting to think that I might like the idea of programming in Clojure more than I actually like programming in Clojure. And maybe I’ll be making Elixir this year’s language to learn instead.