3 ms·
Maybe I'm overstating, and maybe there are other languages in between I don't know about. If you look at what's in memory at a given moment, how objects are con
by MBlume 13y ago
Maybe I'm overstating, and maybe there are other languages in between I don't know about. If you look at what's in memory at a given moment, how objects are connected to one another, and how they're connected to code, I don't think Java looks that different to Scheme; apart from continuations, macros, and TCO, you can write Scheme in Java if you're bloody-minded enough and don't mind your lambdas disappearing into masses of curly braces.
Actually, looking at http://en.wikipedia.org/wiki/History_of_programming_languages http://en.wikipedia.org/wiki/History_of_programming_language... it turns out a lot of languages with the properties I'm describing came before Java, so while Java clearly descends from Lisp in a lot of ways, the connection isn't as direct as I was imagining.
- cwzwarich 13y agoScheme doesn't have that many distinguishing features: 1) Garbage collection 2) Dynamic typing 3) No distinction between primitive values and general values - a value can be used everywhere 4) Lexical closures and higher-order functions 5) A hygienic macro system 6) First-class continuations 7) Space safety guarantees for tail calls ('tail call optimization') 8) A numeric tower 9) S-expression syntax 10) A focus on cons cells and lists as primitive data structures There's probably something I'm missing, but the only feature that Java shares is the first.