[plt-scheme] The Lambda Calculus behind functional programming

From: Joel J. Adamson (jadamson at partners.org)
Date: Thu Aug 30 12:05:43 EDT 2007

"Noel Welsh" <noelwelsh at gmail.com> writes:


> If you mean beginning programmers, I think starting with the LC would
> quickly demotivate them.  Show them some fun stuff first, then the
> underlying theory.  Very few people come to a field to study it per
> se, but rather to learn how to produce the visible end results of the
> field.

For the type of person like me (i.e., me), if I'd learned an abstract
foundation for the logic of programming, I would have been much more
motivated to actually do it.  My first programming class was a
numerical analysis class where the teacher could assume reliably that
most of the people had programming experience, and we used an environment
that I will actively avoid from now on (a: proprietary, b: serious
problems with symbols).  The basic idea of the class was "here's an
algorithm; here are some of the things that can make it more
efficient and the results more reliable.  Now go program it."

I found that a very difficult way to think about things.  Now that
I've had some programming experience, thinking about programming in a
functional framework and with an abstract background makes a lot more
sense to me now.  I think that, being an abstract-math kind of
thinker, I would have learned more if I'd started in 6.001.


Joel J. Adamson
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

The information transmitted in this electronic communication is intended only for the person or entity to whom it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this information in error, please contact the Compliance HelpLine at 800-856-1983 and properly dispose of this information.

Posted on the users mailing list.