3 ms·
Why Lisp Is Different
- kazinator 8y ago> "Lisp has its own ideas about data and thus needs to implement its own memory and data management." Replace "Lisp has ..." with "Pretty much every complex C program ever written, and all modern productivity languages have ...".
- ksaj 8y agoLike it says in the first sentence after the bullet list you're quoting from? "Lisp is not on its own with these 'problems'. Smalltalk, Prolog, Java, ... also have similar 'problems'. Java defines its own infrastructure, same for Smalltalk, PERL, ... "
- kazinator 8y agoNot only is Lisp not on its own, with these issues, it shares them with numerous technologies that are now mainstream. I.e. Lisp is not different. The "Lisp is different" meme is dead. Or, rather, it has atrophied down to a syntactic concern that persists in some imbecillic quarters. Lisp is different because there are no infix operators, commas are gone, and the brackets are on the wrong side of the operator name. Other than that, it has straightforward pass-by value parameters, straightforward scoping, and straightforward evaluation. Someone switching from C to Lisp doesn't have to hugely readjust their model of the computation. Just more kinds of values have to be imagined as being malloced, and as being pointers. Other than that, values are machine words being passed around in registers, on stacks and so forth: good old Von Neumann chugging away. The "garbage collection is slow and weird, and local variables should die when the block terminates" crowd has pretty much retired; when not gardening or flying kites, they are puttering around with their Pascal, Algol or IBM 360 assembler or whatever.