Why I (didn’t) learn Common Lisp: Part 2
I noticed that I had received an email that I had sent myself from one year ago today. These sorts of emails are always pleasant: I usually write to myself as a check-in, a form of therapy, or when some sort of milestone has occurred in life. I opened it up and scanned the length: shorter than normal.
I paused on the sidewalk to read: “Hello!” It said, “It’s now been one year since you’ve posted the last article about learning Common Lisp. It’s time to update with your experience. This is a gentle reminder! Thank you!!!”
Well… spoiler alert: I didn’t really learn it, I didn’t complete any projects, and I hardly even thought about it for the last 4 or 6 months. I sighed, and felt disappointed in my failure to have reached my own goal. I figured, after taking a few minutes to reflect on the experience, that regardless of my failure, I ought to post a second edition. No one would know if I didn’t - (and what, 14 people will know if I did?) but I think it’s more important that I share myself and my experience anyways, regardless of the outcome.
The beginning of my commitment was good - what I’ve found about myself is that I like to attempt to understand a field with its relation to a whole: I don’t like to just understand some limited segment, I want to be able to hold intelligent, meaningful conversation with an expert in every domain of the field.
I additionally feel this with the rise of AI. I think, paradoxically, as information generally becomes more accessible, expertise in any domain shrinks. The amount of experts drops. With drag-and-drop editors, AI-coding, ReactUI, and whatever other frameworks… I thought it was important I understood both how to drive the car and what was going on other the hood.
Of course, that’s a rather lofty, (see: impossible) goal, seeing as computer science is incredibly broad and dense, but hey - shoot for the stars. Remember: a lot of this decision came from Paul Graham’s essays about asymmetry: of course I wanted ridiculous undertaking.
This effectively meant that I spent a lot of really high-level time learning about famous computer scientists, researching high-productivity laboratories (bell, xerox), and design philosophies in coding and trying to understand what about them worked… rather than just internalizing it through regularly coding myself. In other words, I consumed a lot of theory… but not much practice.
I’d go through a few exercises before I began teaching classes, and I’d run through a few more during my breaks too. Common Lisp is not a language that someone ordinarily learns as their first, so there was a quite a bit of terminology that I was unfamiliar with. Basic lessons would cascade into multi-day study sessions where I was attempting to find the base of computing logic… of course, cascading into more questions, and more research, so that I had often lost sight of the original goal. I would sometimes wake up in the morning to attempt to continue my previous study session and find ~10 Wikipedia tabs open for various concepts. And man, math was never my best subject in school.
A nagging part of me wants to say that I failed learning this because it was the most difficult thing I’ve ever done, and that I am not smart. I think… that could still be part of it. But I think the more important reason I failed to learn LISP had to do with the feedback loop I had established with myself.
I’ll compare my experience with Spanish as an example: When beginning the learn the language, I very consciously noted the routine failure of formal language education’s reliance on rote memorization and specifically went out of my way to set-up real-world stakes for my failure. It’s a lot more obvious with a human language: when you fail, you look like a fool in front of groups of people, or you’re rewarded at the opportunity for connections, or by charming others.
I did not have this benefit as I attempted to learn LISP. I have few friends who are programmers, and I think 0 who code in LISP. Therefore, all reward was personal, I did not share much. I had to be motivated by pure will, and, I am not embarrassed to say that my will is not infinite. I have never seen an instance where I worked with people I loved or trusted and was not more successful than I would have been if I had worked alone.
I think part of me always knew that I was not very interested in it. That’s sort of why I published the original article. I have many other current commitments where I didn’t feel the need to impose a public ultimatum.
I would also say that a small part of my initial motivation in learning LISP was in its supposed money-making ability. Of course, that was incredibly foolish of me. Why would I assume that which is currently making money will make money the future? Why would I assume that I would have accumulated the wisdom to use money correctly if I did not gain it through something I was genuinely committed to? I’ve seen similar failure in my mental health and skill development every single time I tried to do something only with monetary reward in sight.
Computer science was (and continues) to interest me: mainly as it relates to other fields I’m more interested in, like sociology and design. I think that I’m going to try and keep an eye on the raise of global survelliance and data analysis through the lens of what I learned while trying to program. I like those things, and I’m still curious about how computer science affects those fields, but… I just don’t think I like programming itself very much.
I can’t say exactly how I feel about having failed. I can say that I think that it’s a part of the exploratory phase of life that I find myself in - that I am proud of myself for having tried and honestly understanding what I enjoy rather than never having tried at all. Spilt water finds cracks quickest.