←back to thread

Hofstadter on Lisp (1983)

(gist.github.com)
372 points Eric_WVGG | 4 comments | | HN request time: 0s | source
Show context
oaktowner ◴[] No.41861304[source]
I just love his writing so much -- he captures what I felt when I discovered Lisp. As a kid learning programming in the 80s, I had already done some BASIC, Fortran, Pascal and COBOL in high school and early college. There were differences, of course, but they had some fundamental commonality.

At UC Berkeley, however, the first computer science class was taught in Scheme (a dialect of Lisp)...and it absolutely blew me away. Hofstadter is right: it feels the closest to math (reminding me a ton of my math theory classes). It was the first beautiful language I discovered.

(edit: I forgot to paste in the quote I loved!)

"...Lisp and Algol, are built around a kernel that seems as natural as a branch of mathematics. The kernel of Lisp has a crystalline purity that not only appeals to the esthetic sense, but also makes Lisp a far more flexible language than most others."

replies(2): >>41863008 #>>41863500 #
Jeff_Brown ◴[] No.41863008[source]
Have you tried Haskell? It feels much closer to math to me. Definitions, not procedures. It even looks like math.
replies(3): >>41863350 #>>41865297 #>>41867173 #
medo-bear ◴[] No.41867173[source]
Maybe Haskell is more like Bourbaki math, whereas Lisp is more like Russian style maths (ala Vladimir Arnold). I prefer the latter tbh, and I come to programming from a maths background. We are all different. Lisp to me is yet to be surpassed in terms of ergonomics when transfering my thoughts into computer code.
replies(1): >>41870042 #
xanderlewis ◴[] No.41870042[source]
Interesting. How would you characterise each (Bourbaki and Russian-style)?
replies(1): >>41872943 #
medo-bear ◴[] No.41872943[source]
I'm not sure what you mean by characterize. Bourbaki-style is extremely rigorous, to the point of missing the forest for the trees. The so-called Russian style (there are plenty of non-Russian examples) is more driven toward building intuition and getting to the essence of the matter. In this way lisp is more similar to the latter because it facilitates prototype (essence) development. In Haskell you pretty much have to do a captcha equivalent of programming just to prove to the compiler you are allowed to do io :)
replies(2): >>41874008 #>>41875344 #
iLemming ◴[] No.41874008[source]
That is a very interesting perspective of Haskell vs. Lisp., I don't come to programming from a math background, but I am Russian. Maybe that's why I always preferred Lisp-style instead of Haskell :)
replies(1): >>41876840 #
medo-bear ◴[] No.41876840[source]
Maybe, I also see lisp as the slavic language of programming :)
replies(1): >>41880344 #
iLemming ◴[] No.41880344[source]
Most obviously (from the linguistic's point) Lisp is Latin of programming languages. Has the similar historical importance; similar foundational role; continued relevance, elegance and power; evokes similar reactions from neophytes.

From the point of Biology: Lisp is a prokaryotic cell - simple, fundamental, highly adaptable.

In Chemistry: Lisp is carbon - versatile, forms the basis of complex structures.

In Geology: Lisp is like bedrock - foundational and supporting diverse structures above it.

In Astronomy: Lisp is a primordial star - ancient, influential, contributing to the formation of newer elements.

In Physics: Lisp is a quark - the basis of all baryonic matter.

</nerd-rant>

replies(2): >>41882610 #>>41901617 #
1. medo-bear ◴[] No.41882610{8}[source]
I would say in physics, lisp is like the formulation of physical laws in terms of lagrangians and hamiltonians - ie it is the least action principle
replies(1): >>41883462 #
2. iLemming ◴[] No.41883462[source]
Here's a hard one. In political science Lisp would be like...?
replies(2): >>41886366 #>>41887144 #
3. ◴[] No.41886366[source]
4. medo-bear ◴[] No.41887144[source]
Juche ?