Using program exceptions as a learning tool:
When I’m learning something new, I sometimes find myself practicing EDD (exception driven development). I try to evaluate some code, get an exception or error message, and then Google the error message to figure out what the heck happened.
Oh, yay, are you picking up Clojure? It’s my favorite language; I’m really looking forward to seeing any posts you write about it.
This is actually counter productive way of learning. I used to follow this pattern, but it limits your ability to leverage new concepts in language:
I picked up Rust as new language to learn and quickly created search over fst using library (15 minutes). Creating parsing JSON in function took me over 2 hours because I had to fight with borrow checker and Options/errors, both concepts which are covered in programming rust and it would take me 15 minutes of reading.