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.
One 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.
On 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.
Sorry 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__ ?
The 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.
Serious lambdas and closures? Sophisticated array handling? A full-featured numerical tower? Conditions? Python's namespaces seem primitive compared to Lisp. Etc.
[1] http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...