3 ms·
What Languages Fix (old article)
- gruseom 18y agoI love this piece. But given Kay's historical essay, the Smalltalk entry should arguably be amended to: Smalltalk: Lisp didn't go far enough. In other words, Smalltalk wasn't an attempt to fix Simula so much as an attempt to fix Lisp. Simula-style objects were just the vehicle. Edit: The passage I'm referring to deserves to be quoted. I could hardly believe how beautiful and wonderful the idea of LISP was [...] but there were deep flaws in its logical foundations. By this, I mean that the pure language was supposed to be based on functions, but its most important components---such as lambda expressions quotes, and conds--were not functions at all, and instead were called special forms. [...] Why not just base everything on FEXPRs and force evaluation on the receiving side when needed? I could never get a good answer, but the question was very helpful when it came time to invent Smalltalk, because this started a line of thought that said "take the hardest and most profound thing you need to do, make it great, and then build every easier thing out of it". That last line is one of my all-time favorites. http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html (typos corrected)
- silentbicycle 18y agoML: Lisp's type system could be much more powerful. (Quite literally -- ML was made because Milner, et. al found Lisp to be too error-prone for proof-checking programs.)