I've been interested in learning to code for a while, but never really took a full leap. I've had a few false starts. In college I took classes where I had to use R and Stata for statistical programming and econometrics, but I didn't use it beyond the classroom. I tried learning Python for statistical programming on my own with Datacamp, but I wasn't able to maintain my enthusiasm for too long. There were a lot of syntax rules that didn't make immediate sense to me (maybe the underlying rules just weren't explained), maybe it was too "how-to" oriented, or maybe I just didn't have a strong enough reason to program at the time.
The amount of talks that I had watched from programmers given that I had never coded (besides GuidedTrack but that barely counts as coding) was absurd. I don't know what it was about them, but I just really wanted to speak their language. In particular, presentations about Lisp dialects like Clojure and Racket fascinated me to no end. From what I could tell, the syntax looked both simple and composable.
Even more interesting to me was that given that they are both Lisp dialects, that meant they excel at meta-programming - in other words, programming your programming language. Given my interest in Domain-specific languages as end-user software, Clojure felt like it would be a great playground.
Additionally, my work on GuidedTrack has led me to become fascinated with end-user programming and Learnable programming. End-user programming has the potential to enable people to meld the computer to their needs rather than being totally reliant on pre-built solutions. Many Horizontal products trend towards basic end-user programming. While my ignorance has served me well in making a better learning experience for non-coders, if I want to expand my goals for end-user programming beyond GuidedTrack, it's time for me to gain new tacit knowledge.
Just tryna squeeze my ignorance for everything it's worth.— Robert Haisfield (@RobertHaisfield) May 13, 2021
To paraphrase @dela3499: "Try to capture your present viewpoint as precisely as you can before you gain expertise."
I'm heavily documenting my experience learning Clojure.https://t.co/4LZHa52Rj0
I tried learning on my own, but struggled to stay motivated so I posted on Twitter asking about Clojure tutors or if anyone in my network was generally willing to help me. Tasshin Fogleman sent me a direct message and offered to send me a bunch of his books.
I was overwhelmed by his kindness and decided that if someone was willing to send me all of these great books to help me get started, I should go ahead and get started.
At this point, I'm becoming very passionate about Clojure very quickly. See here for How I'm learning Clojure.