I'll throw my favourite language into the bag. Jython seems to ddress a few of the issues the author and other commentators have raised so far:
- python is a clean, simple language, designed to be easy to learn
- it can be run without any IDE, it's portable (this applies to both 'proper' Cpython and to jython)
- no main() method. If you wanbt to do something really simple like Hello World, you write it as a functional language: the python/jython listing for Hello World is simply:
print "Hello World"
- you can then graduate onto using OO techniques when required, starting with defining a class and then manipulating it via top-level functions, then on to getting several objects talking to each other
- it can be run interactively : great for learning, quickly testing things out, etc.
- if you teach jython, then you can familiarise your students with any parts of the java APIs that you like, and then move them on to native java coding gradually
- easy to install, I've set it up on various Linux and Windows without any problems.
Downside is that the syntax for python and java are not that similar, but there are other java scripting language implementations e.g. Netscape's Rhino, that offer similar benefits with a more C-like syntax. (I'm recommending jython specifically because its the one I know.)
Jython can be found at http://www.jython.org