Python advocacy

Paul Prescod paul at prescod.net
Fri Mar 3 14:40:42 EST 2000


Ran wrote:
>
> ...
> 
> Each applications area has characteristics that make some languages
> "ideal",  others "problematic",  and sometimes even some of them
> "dangerous" to use.

It is my observation that over time these differences have moved more
and more from programming languages into their libraries. So it used to
be said that TCL was "good for user interfaces" and Perl is "good for
text processing" and COBOL was "good for business problems" but nowadays
every language is pretty good at GUIs thanks to stealing TK and every
language is good at text processing (not necessarily equally good, but
good nevertheless) since Perl regexps are ubiquitous and many business
programmers seem to use Java to good effect.

But here's my problem. It is very, very, very rare that I right a real
"computer program" that does not span "domains."

> And the same applies to developers:  different people have different
> approaches to solving problems.  Some languages will fit a particular
> person's temperament and abilities,  and some won't.

The interesting thing is that I haven't yet met a person who gave Python
a solid try and then said it didn't fit their temperament or abilities.
If many of these people come out of the woodwork in the next few years
then I will have to admit I am wrong that Python is the embodiment of
CP4E.

Anyhow, let's say that there are people who naturally gravitate toward
Perl, others that naturally gravitate towards C++ and so forth. What
does that mean for maintainability of large software systems? Every
programmer chooses the language that they gravitate towards and then the
customer worries about the maintenance problem later? "We need a
C++/Java/Lisp programmer to fix up this system we've bought."

Let's say that you increase the LOC of a project by 20% using 2
languages instead of 6. Doesn't the reduced maintenance burden offset
the additional coding time (if any)?

> A "Perl-vs-C-vs-Python-vs-APL-vs..." argument is equivalent one about
> "hacksaw-vs-screwdriver-vs-scalpel-vs-tweezers":  it may have some
> amusement value,  but any real-world benefits are an accidental
> by-product.

In my opinion that is not true. My life is measurably better now that
potential employers as me about my skill with Java instead of my skill
with C++. My job is clearly more enjoyable when I can think about my
business problems instead of the interaction of C++ pure virtual
functions and base class constructor execution.

So while I may not know anything about the world outside my head, I know
that C++ and Perl programming gives me a headache and I have been forced
to do both in the last year (even together...on Windows). Therefore from
a purely selfish point of view, pro-Python evangelism is enlightened
self-interest!

To some extent, though, you are right. My meagre efforts at evangelism
are not that important beside the evolutionary processes that drive
technology adoption. My personal opinion is that simplicity drives out
complexity naturally so it is only a matter of time before the ugly
programming languages go away. :)

-- 
 Paul Prescod  - ISOGEN Consulting Engineer speaking for himself
"We still do not know why mathematics is true and whether it is
certain. But we know what we do not know in an immeasurably richer way
than we did. And learning this has been a remarkable achievement,
among the greatest and least known of the modern era." 
        - from "Advent of the Algorithm" David Berlinski
	http://www.opengroup.com/mabooks/015/0151003386.shtml




More information about the Python-list mailing list