The Bipolar Lisp Programmer (2007)
marktarver.com
marktarver.com
I think this submission of it has the most comments, though some of them are about the relative merit of pointing out how many times it had previously been submitted: https://news.ycombinator.com/item?id=2275657
The beauty of Lisp is in these few "great insights" of John McCarthy who'd put together a few "good ideas", so, again, the result has been more than just a sum of the parts. Then a few more evolutionary steps happened, which gave us macros.
When we say Lisp, we don't mean Common Lisp or Scheme or Ark or Clojure. We think about this set of ideas where ideas complemented and augmented each other. As long as this set of ideas remain unbroken it doesn't really matter is it Arc or Scheme or Common Lisp. It is about principles, not implementation details.
When we think of these set of idea - everything is a first-class value, symbols which are "natural" pointers to values, lexical scooping, generic procedures on typed (by tagging) values instead of variables, which together with prefix notation, which gives an elegant and uniform code-generation, and "evaluating" read procedure gives us macros, we wonder why, why so few people "gets" it.
One who is asking what is it that makes Lisp special will find the usual torrent of nonsense, while those who would try to find it out yourself suddenly would get this aha-moment of realization of the beauty of how a few simple and clever ideas fit together. It is the source of Lisp elegance and power. Brian Harvey's CS61A course form 2008 is still the best place to learn the big ideas. Then comes On Lisp and arc.arc.
Lisp it is not just a set of features - it is a "complete" set of features, which could be ruined, reduced to an ordinary clumsy language, when a one single feature, such as List structure (conses) as the representation of Lisp's code would be removed, or if another data-structure would be introduced, to break uniformity. That is why Clojure doesn't have "that feel" which Arc or Scheme or a subset of CL has.)
More generally, I don't think I understand yet why someone would use pointers instead of a variable.
Thanks for your comment about Lisp.
A pointer is not the actual data. It's just a trail of connections that eventually lead to the data you want, instead of having to manage a bunch of data you don't need to, or want to manage. It's computationally efficient and it is elegant. It represents exactly what you tell it to represent.
It is not a coincidence that Lisp was the language of early AI. They believed that this set of features is good-enough to "program" intelligence.
The intention of my comment was to show that there is nothing much to talk about, especially there is no "mysticism" or "that special attitude".
(Looking for the source of this observation.)