Rue the day...

Cliff Wells logiplexsoftware at earthlink.net
Tue Jan 29 15:45:22 EST 2002


On Tue, 29 Jan 2002 11:42:15 -0800
Steve Arnold wrote:
> In a sense, a language is just another tool (albeit, a rather
> important one) and you should generally choose the right tool for
> the right job.  The practical answer to this is dependent on both
> the tools the programmer is familiar with, and the project 
> requirements.  For example, if I were developing safety critical 
> code, there's really only one viable choice: Ada (95 or in special 
> cases 83).  Based on the language features and capabilities, to 
> choose otherwise would be stupid.  Also, under Boeing's DO-178B 
> standard, another choice would not be allowed (for good reason). 
> However, I have seen too many projects (most of them in the millions 
> of $'s range) have trouble because of a poor choice in languages and 
> tools (and lack of SE knowledge, no process, etc, etc).  This 
> happens mostly because some management dweeb only hears industry 
> hype and propaganda (can you say Java?), and many programmers seem 

I absolutely agree.  What I am saying is that this is exactly what these
people want to know.  They want a feature comparison ("should I use Python
rather than Perl" == "what are Python's strengths/weaknesses compared to
Perl") to help them make an informed choice.  If they ask only on this list
they're obviously going to get a fairly one-sided view of things, but it's
a valid question.

> actually afraid of learning another language.  IMHO, a competent 
> programmer (and any software engineer) should not care if he/she 
> already knows a particular language or not.  They should be good at 
> what they do regardless.

Hm. Yes and no.  The programmer should obviously use the best tool for the
job, but given two similar tools, I would suggest using the one he or she
is familiar with.  It's one thing to learn the syntax of a language and
write working code, it's another entirely to become proficient in that
language.  If you take a Fortran programmer and convince him that Python is
the best tool for some particular application, he will write Fortran code
in Python for quite some time, until he or she finally starts thinking in
terms of the new language.  I think it is best to stick with one or two
languages for the majority of your work (and almost any general purpose
language will suffice, if you are proficient in that language) and only
consider other languages if there is a definite benefit to using a
different language.  It comes down to deciding if the benefits offered by
using an alternative language outweigh the setback the programmer will
incur by switching to an unfamiliar language.

This comes back to my earlier statements regarding what these people are
asking about.  They want to know if they should use Python for _most_ of
their programming.  I would affirm this choice as Python is an appropriate
tool for general programming tasks and has some obvious benefits over other
languages that might be used instead.

[snip other stuff I agree with]

>   [shameless plug: engineering discipline is a *good* thing in the
> software world; it's what raises us from the level of hacker or
> programmer to that of a legitimate professional.  Before you choke
> or curse me, think about it.  Would you rather the avionics code
> flying the airplane you ride in was written by a team of software
> engineers, or hackers?]

That depends on how you define software engineer and how you define hacker.
 I'd rather have it run Linux than Windows, and I wonder how each of those
groups of developers would classify themselves ;)

[snipping all else, as you won't get any disagreement from me on the rest
of it]

Perhaps we should rename this thread: I don't want to be "Rue'd" ;)

-- 
Cliff Wells
Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308
(800) 735-0555 x308

"Then with your new power you'll accomplish all sorts of cool stuff 
 in no time, and We'll All Be Sorry.  At that point you can either 
 gloat a bit, and then relent, or go ahead and send the robot army 
 after us." - Quinn Dunkan




More information about the Python-list mailing list