How much is set in stone?

Paul Rubin phr-n2001d at nightsong.com
Fri Nov 9 06:21:18 CET 2001


Peter Hansen <peter at engcorp.com> writes:
> A necessary step to get the robustness you claim you need is to do 
> extensive testing.  If one writes an application with Python and it 
> breaks a million dollars of merchandise it will not be Python's
> fault, but the programmer's fault for inadequate testing.
> 
> The only thing those other languages give you which Python doesn't
> is compiler warnings which lull you into a false sense that your program 
> is clean when in fact you were lazy and didn't do proper testing.  
> If you do the same amount of testing with Python that you would need 
> to do with other languages to be very safe, you would have just as 
> robust an end result.

That makes it sound as if any non-robustness in the application is the
fault of how the application is written.  However, the Python
interpreter itself can also have bugs.  That affects application
robustness.  Bugs in the Python interpreter can make the application
crash even if the application code is itself bug-free.

Part of the question "can I write robust applications in Python" is
"how reliable is the interpreter, really?".  I've seen Python 2.1.1
inexplicably crash several times.  One thing that another language
might give you besides compiler warnings and false senses of security
is implementations that don't crash.

Overall Python seems pretty reliable but I think its implementation is
not yet as well shaken out as some other languages' implementations.
I'm happy writing web applications in Python.  I could not in good
conscience recommend writing life critical apps (medical implant
firmware, avionics, etc.) in Python in its present form.



More information about the Python-list mailing list