In 2020, I've been on quite a learning journey. I joined a team where we write code in Clojure, a very different language from what I’m used to. It turns out writing Clojure is a very nice developer experience, but it could take a while to get it.
You might have to go through some (or all) of the 12 stages of learning Clojure.
๐ฎ
1. "I have no idea what I'm looking at."
๐ฌ
2. "Where does that code end? Where does it begin? Why are there so many parentheses?"
๐คช
3. "I'm totally lost."
๐ณ
4. "Will I ever learn? Am I smart enough?"
๐ญ
5. "I will never learn. I'm not smart enough. I want ice cream!"
๐ค
6. "Hmmm, wait a minute ... map, reduce, filter. This is something I recognize."
๐
7. "Yes. Clojure, yes, yes."
๐คฏ
8. "OMG, this language is so powerful. OMG, I even understand some of
it."
๐
9. "defn, keywords, multi-methods, macros, juxt, slurp, ha ha ha ha ..."
๐
10. "Pretty clean. Yeah, I've learned the keyboard shortcut to nicely format the code.
And threading macros
are nice!"
๐
11. "I ❤️ Clojure. Everything about it makes sense. It's is the language
I've
been searching for
all my
life."
๐ง
12. "Empty your mind, be formless, shapeless - like water. Now you put water into a cup, it becomes the cup.
You put
water into a bottle, it becomes the bottle. You put it in a teapot, it becomes the teapot.
Water can flow, or it can crash. Be water, my friend." *
You might wonder what stage I'm currently in. Well, probably somewhere
between ๐ and ๐.
Here's some of the sources that I have learned a lot from:
- Clojure for the brave and true
- Programming Clojure
- ClojureScript Koans
- Elements of Clojure
- Learn Reagent
I'm sure I will keep trying, failing, learning and mostly smiling in 2021 ✨
* Yes, Bruce Lee said that.