The choice is made. The school where I teach has finally made its decision to teach Python first. For several years, we have been teaching Java first, and before that, C++.
I introduced Python in one of my courses and got a lot of flak from some of the other faculty. I also introduced Ruby, and got even more flak. In my course, the students loved Python for its simplicity, its power, and its flexibility. It is clear that Python is not the ultimate, one-size-fits-all language. No language is. However, for a beginner's language it is nearly ideal. Further, it is a great language for a wide range of serious programming problems. For large-scale, safety-critical software, I still prefer Eiffel or Ada. Java could vanish tomorrow and, with Python and Ruby available, no one would miss Java at all. As for C++, for any serious software systems, it should always be the language of last resort. C++, as an object-oriented assembler, is pretty much its own virus. Already, students are turning in really good projects in Python, and some in Ruby. Not all the professors are on-board with this decision, but in time I think they will be. Richard Riehle -- http://mail.python.org/mailman/listinfo/python-list