5 ms·
The older I become the more I realize how influential Lisp is/was. The Lisp memory model presented here looks like object oriented data structures, if you squin
by AlexanderDhoore 8y ago
The older I become the more I realize how influential Lisp is/was. The Lisp memory model presented here looks like object oriented data structures, if you squint a little. Java dragged C++ programmers 'halfway to Lisp' [1]. I now do a lot of programming on Python, which is so obviously like Lisp that MIT teaches it instead of Scheme. We don't have continuations and macro yet in mainstream languages, but we'll get there.
[1] http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg04045.html http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...
- lispm 8y agoOne reason: Lisp was the first to use a garbage collector and thus needed a form of managed memory. In the 60s and early 70s it was relatively alone with its feature set and a bunch of things in the early evolution of Lisp (like compilers (1962), images as memory dumps (1962 or before), records, arrays, large and small numbers, ...) lead to runtimes supporting these features. Special 'machines' appeared in the 70s which implemented parts of the runtimes in virtual machines or even physical machines (the JVM is in some ways technically similar to other Lisp runtimes -> that's why Steele talked about half-way to Lisp, which in reality may only be 1/4 of the way). In the 70s/80s then the need for larger memories in Lisp programs lead to a bunch of new garbage collection schemes, like generational GC. In the 70s/80s then new languages appeared which were influenced by Lisp implementation techniques: like ML or Smalltalk. Later languages like Ruby were influenced by the implementation of Emacs Lisp.
- pjmlp 8y agoOn Xerox's paper about Mesa/Cedar they describe how they saw as influential to support the same kind of development workflow as Lisp/Smalltalk on a strongly typed systems language. Meaning the REPL, dynamic code reloading, debugger, ... Then we had to wait a couple of decades to catch up and aren't still not there.
- Bromskloss 8y ago> Python, which is so obviously like Lisp Hang on! Do you mean some similarity other than what is talked about in the article?
- Tarq0n 8y agoThe main dissimilarity between python and lisp is that you can't use code as data in python, so there's no macros. In most other ways they're pretty similar.
- SeanLuke 8y agoSerious lambdas and closures? Sophisticated array handling? A full-featured numerical tower? Conditions? Python's namespaces seem primitive compared to Lisp. Etc.
- dkersten 8y agoCode is data is often touted as the integral feature of lisp though, so without it, a language really isn’t much like lisp at all.
- fulafel 8y agoThis comparison by prominent Lisp/AI figure Peter Norvig is a good treatment of the similarity: http://norvig.com/python-lisp.html http://norvig.com/python-lisp.html
- Waterluvian 8y agoSorry I'm a python veteran but lisp luddite. When you say python is so obviously like Lisp, are you referring generally to the ability to override the language syntax behaviour? Eg. __eq__ ?
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]