A Giant Fell

In the 1930s (before the first computer was constructed), one Alonzo Church introduced Lambda Calculus to the field of mathematics. In short, this obscure field of math introduced a structured way to substitute symbols.

Imagine you can give a set of symbols a shorthand and can selectively replace part of the symbols with something else. For example, you can call a complicated construction of fabric and other materials “shirt.” Then you can substitute the color of the “shirt” with “blue.” Voila, you have a blue shirt.

λ-calculus also defined a way to reduce a long set of symbols into a much shorter one; such as the set of symbols “3 + 2” can be “reduced” to “5.”

This sound too geeky to you? Sorry, but computers are dumber than you think. With symbol substitution and reduction, all computation can be performed mechanically — the mathematical theory behind computation. Without λ-calculus, there would be no mechanical computation, without that, there will be no computers, without that, there will be no iPad, cell phones, or MP3 players.

A separate thread of developments was also going on at the hardware side of the computer science. Cut to the chase, one Alan Turing (founder of computer science) invented the Turing Machine that can execute λ-calculus. Then one John von Neumann turned that into a real computer, from which ENIAC was built, in the 50s.

When it came to how to program that machine, the world quickly divided into two camps: one to program it as closely as how the machine was built, and the other based on λ-calculus. The first camp invented Fortran and COBOL. Both were terrible. Then they kept on tweaking and changing until the world had C/C++, Java, Python, PHP, etc. The λ-calculus camp came up with a language called Lisp. Lisp has pretty much stayed the same since the 50s and has had very few variations. (Scheme is my favorite.)

Lisp had its glory in the 80s as the premiere choice for artificial intelligence. It has pretty much retreated into academia as a teaching tool. In my opinion, all programmers should begin their training with Lisp that gives the solid foundation of λ-calculus. They will become much better software engineers with this foundation. Many shared this belief and therefore many schools insisted on a heavy dosage of Scheme for all computer science freshmen.

John McCarthy, inventor of Lisp, died at 84 on Oct 24, 2011. From The New York Times, “Dr. McCarthy, who taught briefly at Stanford in the early 1950s, returned there in 1962 and in 1964 became the founding director of the Stanford Artificial Intelligence Laboratory, or SAIL. Its optimistic, space-age goal, with financial backing from the Pentagon, was to create a working artificial intelligence system within a decade. Dr. McCarthy had begun inviting the Homebrew Computer Club, a Silicon Valley hobbyist group, to meet at the Stanford lab. Among its growing membership were Steven P. Jobs and Stephen Wozniak, who would go on to found Apple. Mr. Wozniak designed his first personal computer prototype, the Apple 1, to share with his Homebrew friends.”

This entry was posted in Peek into my mind, Witness to my life. Bookmark the permalink.

Leave a Reply

Your email address will not be published.