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:
-
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.
-
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.