Language Evolution applied to PLT

I've just started reading The rise and fall of languages in which the author argues that the "family tree" approach to analysing the relationships between languages is not, generally speaking, correct.

He advances the view that there are relatively long periods of time in which features "diffuse" within groups of language some area, until some form of equilibrium is reached. New languages are formed in relatively short periods of marked change (disasters, invasions, outside contact, etc) where new influences change languages very quickly.

We're all familiar with those diagrams describing the development of programming languages charting the progress made from the very early days, through umpteen variants of ISWIM, COBOL, ALGOL, B and C, APL, etc.

Can we see a similar sort of patter in the development of programming languages, with features diffusing throughout a particular community of languages until some new pressures force more radical changes to differentiate the now similar languages?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Cross Fertilisation

Regarding your speculation about feature diffusion, there's evidence in abundance, e.g. Exceptions, classes/inheritance, parametric polymorphism and the nascent spread of monadic IO from Haskell to other functional langugaes to name a few.

The family tree idea is tenuous at best because languages don't actually mate |:^)

Are there any diagrams showing PL conceptual/memetic evolution? The only ones I've found stop at the language level, rather than drill down into the programming styles and idioms supported.

Not new

The "wave model" of language development has been around since 1872; the idea that particular features spread across dialect lines and even across language lines. The Paris pronunciation of r in the back of the throat has spread to cover northern France and Belgium and even to northern Germany, for example.

Neither the family tree nor the wave model represents the whole truth.

Oh Oh!

The Rise and Fall of Languages was reviewed by Alan Kaye!

Sorry, couldn't resist. :)

My Bad

[Drupal really should implement POST-idempotency]

Either that

...or maybe the relational model the right way? :-)

This way duplicates will be prevented...