in reply to Perl as a first language

The problem with teaching Perl as a first language is that you never know how much easier it is in Perl than in most other languages. Make them pay their dues first: teach them C++. {grin}

In all seriousness, I'd still recommend Smalltalk as a first language, if you can find a good set of tutorials that match the implementation you've downloaded (or bought). Smalltalk's advantage is that the syntax fits on the back of a business card (literally!), permits object-oriented programming for everything (in fact, forces it!), provides incredible introspection, and gives very easy access to graphical widgets in the first few hours.

For implementations, I'd start with Squeak, which has the advantage of being open source and being maintained by the people that originally came up with Smalltalk some 30 years ago. VisualWorks also has a non-commercial personal-use version that seems decent and cross-platform.

-- Randal L. Schwartz, Perl hacker