Funny timing. I tried to print out this family tree of programming languages (printable PDF version s available) the other day, and somehow failed (sometimes things just don't get through, and there are too many computers between me and the printer, managed by somebody else, for it to be worth doing anything other than shrugging), so I tried again this morning. I had a browse, said "ah!" a few times, and went back to my morning engagement with bloglines. Next up, Smalltalk weblogs, and James Robertson linked to the same diagram, while in a comment gabriele renzi points to an alternative, slightly whimiscal but nonetheless worthwhile view.
I have to say I'm slightly surprised at how little influence seems to be shown from Smalltalk (and Lisp) out. There's a limit to what can be shown on a diagram like that, I guess, and the connections are all at the conception of a language (so the ongoing slow accretion of Lisp/Smalltalk features in various "agile" languages doesn't appear). Still, I'd have thought C++ owes a lot to the modifications Smalltalk made to the Simula model of computation, for example.
Then again, perhaps it's better not to show such things when they are so badly corrupted in transfer, lest the source of the ideas be blamed for the result.
There would be an interesting linguistic study in how the concepts established in the development of Smalltalk were diluted as they spread; how the same words came to have weaker meanings more in keeping with what people knew already.
Recent Comments