

What Languages Fix (old article) - prakash
http://www.paulgraham.com/fix.html

======
gruseom
I 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> (typos
corrected)

------
silentbicycle
ML: 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.)

