Faith and evolution provide complementary–and sometimes conflicting–models of the world, and they also can model the adoption of programming languages. Adherents of competing paradigms, such as functional and object-oriented programming, often appear motivated by faith. Families of related languages, such as C, C++, Java, and C#, may arise from pressures of evolution. As designers of languages, adoption rates provide us with scientific data, but the belief that elegant designs are better is a matter of faith…
This is a wondeful talk by Phillip Wadler from the University of Edinburgh, he’s one of the individuals responsible for getting Generics into Java 5, and has worked on Haskell and very heavily on the development of functional programming languages throughout his career.
It’s suprising how well the evolution vs faith analogy applies to the way in which we, as developers, often adopt programming languages. For some reason the talk made me remember the old Java vs .NET arguments which were less about rationale differences in the semantics and philosophy of the programming language and more about which camp you belonged to and your unswerving faith and loyalty to it. In fact thats a poignant example of when multiculturalism went out of the window and fundementalism was very much in fashion.
The talk also provides a fair amount of history around some of the issues that polorised language designers, static vs dynamic typing, for example. I found this provided some wonderful background that I was never aware of.
If your interested in Programming Languages, their adoption and their evolution over time then this is a fascinating, and unique, talk that you should really watch.