Choosing Python

2007-03-18 Thread adaworks
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

2007-03-18 Thread adaworks

"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