Choosing Python
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
Re: Choosing Python
"Dennis Lee Bieber" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Mon, 19 Mar 2007 02:21:35 GMT, <[EMAIL PROTECTED]> declaimed the > following in comp.lang.python: > >> or Ada. Java could vanish tomorrow and, with Python >> and Ruby available, no one would miss Java at all. As for > > Except for all those software firms that have based their entire > production on Java {Most of which, based on a limited example of > tools at work, tend to be klutzy, idiosyncratic, slow... and for some, > new versions are incompatible with projects created with older ones} > -- Dennis, The same can be said for those who have chosen other languages and used them in non-standard ways. COBOL comes to mind. One of the many things I like about Ada is that it is the same wherever you use it. Python seems to be that way too. Java started out that way. It was the intention for Java to be more portable than it is. I have heard that Java was released before the developers were finished designing it. That would account for some of the upheaval in the language. I do know of one set of software systems that has simply stopped working after the initial release of Java was revised. The appliation was versioned it out of compliance. The hype surrounding Java, and the overly optimistic expectations of C++ are a small sample of good intentions gone awry. The same thing could happen to Python or Ruby if those who control it are not careful. Both languages, in my view, could benefit from a model of pre-, post-, and invariant assertions, but done badly, that could do more harm than good. So let's hope that Python and Ruby evolve better than C++. For C++, every new version seems designed to compensate for something that was wrong with some earlier version. Richard -- http://mail.python.org/mailman/listinfo/python-list