Faith, Evolution, and Programming Languages
Description
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.
Lecture rating
| People found this lecture: | ||
| Worth seeing | ||
| because it is: | ||
| Valuable and informative | ||
| Well presented | ||
| Easily understandable | ||
| Acceptably recorded | ||
| You need to login to cast your vote. | ||
Report a problem or upload files
If you have found a problem with this lecture or would like to send us extra material, articles, exercises, etc., please use our ticket system to describe your request and upload the data.Enter your e-mail into the 'Cc' field, and we will keep you updated with your request's status.
Link this page
Would you like to put a link to this lecture on your homepage?Go ahead! Copy the HTML snippet !





