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 talk traces one concept, second-order quantification, from its inception in the symbolic logic of Frege through to the generic features introduced in Java 5, touching on features of faith and evolution. The remarkable correspondence between natural deduction and functional programming informed the design of type classes in Haskell. Generics in Java evolved directly from Haskell type classes, and are designed to support evolution from legacy code to generic code. Links, a successor to Haskell aimed at AJAX-style three-tier web applications, aims to reconcile some of the conflict between dynamic and static approaches to typing.
Dion Almaer pointed out that Google EDU has another great talk online: this time, on "Faith, Evolution, and Programming Languages." This talk summarizes second-order quantification through to the generics features introduced in Java 5, and talks about another language - Links. There's no transcript available, but considering some of the diagrams he shows on the projection screen, a transcript would have been very difficult to create well. The abstract is reproduced here in its entirety (with some breaks to make it easier to read), to provide you with more information:
- Posted by: Joseph Ottinger
- Posted on: May 03 2007 10:03 EDT
- Want to find out more about Haskell..? by Neil Bartlett on May 03 2007 12:01 EDT
- Re: Faith, Evolution, and Programming Languages from Google EDU by Anodos Faeryblood on May 03 2007 13:23 EDT
- Misguided metaphor by Casual Visitor on May 07 2007 09:29 EDT
- Misguided metaphor indeed by tom tarb on May 08 2007 14:01 EDT
Just a quick plug... if you're interested in hearing about this language Haskell where all the good ideas in Java and .Net seem to start off, and you happen to be in the London area, you might want to come along to the London Haskell User Group which is having its first meeting on 23rd May. More details at the website, http://www.londonhug.net/
Interestingly enough, "Links" is such a generic name that it make googling for it a little more difficult ("links programming language" works).
The speech starts with a misguided faith vs. evolution metaphor (I haven't watched the rest thereupon).
Since both evolution and "Biblical literal creationism" (a better fit that faith") are both pre-conclusions that then try to interpret "neutral" data and observations to prove their theory. The real test then becomes a question of what can each theory predict? In that respect I believe Biblical creationism wins slam dunk.