An intuitive introduction to Lisp is refreshing to encounter

It's fascinating how few articles on a given subject can be written in an intuitive manner. Just spent an hour aggressively searching the Internet for anything similar to this article giving an intuitive introduction to Lisp and found very little. Spent another hour with similar results for the other equally-useful article on this site. Here, the author explains his method:

I gave the matter careful thought. Is there something inherently hard about Lisp that prevents very intelligent, experienced programmers from understanding it? No, there isn't. After all, I got it, and if I can do it, anybody can. Then what is it that makes Lisp so hard to understand? The answer, as such things usually do, came unexpectedly. Of course! Teaching anybody anything involves building advanced concepts on top of concepts they already understand! If the process is made interesting and the matter is explained properly the new concepts become as intuitive as the original building blocks that aided their understanding. That was the problem! Metaprogramming, code and data in one representation, self-modifying programs, domain specific mini-languages, none of the explanations for these concepts referenced familiar territory. How could I expect anyone to understand them! No wonder people wanted specific examples.

The article is excellent, though it introduces so much material I can tell I need to read it at least a couple more times for it all to make sense enough that I can do something useful with it.

Interesting aside: While reading, I was observing the process of reading, and found that I was looking at the small features lightly. Not exactly skimming, but also not intending to understand any one of them, rather to become familiar with overall vocabulary and some high-level links between concepts.

So reading it again, I'll start to dig in to the more interesting features but continue to skim the ones that don't make sense. Then reading it the third time or so the overall intuitive sense of how Lisp works will "click" into place and from there I can read it at a level similar to what the author intended for his readers. Analysis, click, synthesis.

I would have to read an article written in the unintuitive manner a dozen times and still miss huge chunks in coherence.

[Edit: a couple years later] I just stumbled upon this again, and am finally reading the article again (I think this qualifies as "the second time") through more carefully, thoroughly enjoying how it proposes to restructure my mind in an awakening sort of way before it's all over. This bears careful study and some annotation as it has the feel of being a pivotal moment on my journey to thinking clearly.

Add a comment

HTML code is displayed as text and web addresses are automatically converted.

Page top