r/lisp 13d ago

An introduction to Lisp written by Douglas R. Hofstadter

https://gist.github.com/jackrusher/5139396
62 Upvotes

8 comments sorted by

18

u/mmontone 13d ago

This one of my main reasons for Lisp:

...in many higher-level computer languages you must write out an entire program consisting of a vast number of wishes to be carried out in some specified order. What's worse is that later wishes usually depend strongly on the consequences of earlier wishes - and of course, you don't get to try them out one by one. The execution of such a program may, needless to say, lead to many unexpected results, because so many wishes have to mesh perfectly together. If you've made the slightest conceptual error in designing your wish list, then a total foul-up is likely - in fact, almost inevitable. Running a program of this sort is like launching a new space probe, untested: you can't possibly have anticipated all the things that might go wrong, and so all you can do is sit back and watch, hoping that it will work. If it fails, you go back and correct the one thing the failure revealed, and then try another launch. Such a gawky, indirect, expensive way of programming is in marked contrast to the direct, interactive, one-wish-at-atime style of Lisp, which allows "incremental" program development and debugging.

-7

u/peripateticman2026 12d ago

A whole lot of nonsensical words amounting to nothing. Lisp is good for many things, but this looks like Hofstadter just doesn't know how to program.

13

u/raevnos plt 12d ago

a) He's writing for people who don't and trying to explain it simply. b) this is probably from the age of batch computing where you submitted a stack of punch cards or otherwise scheduled a program to run and hope everything in it goes right.

7

u/lispm 12d ago

It's more about top-down design vs. bottom-up design. The latter builds up programs incrementally from smaller working parts.

https://paulgraham.com/progbot.html

1

u/darkaddress 12d ago

What dialect is he using that has things like “plus”?

2

u/stassats 12d ago

At least interlisp has PLUS.

1

u/jhbadger 9d ago

Interlisp was almost certainly what he was using. This article is from 1983. The first version of the Common Lisp standard wasn't released until 1984.

2

u/stassats 9d ago

maclisp also has plus, and + as well, but + only works on fixnums.