Python's simplicity philosophy

Alex Martelli aleax at aleax.it
Fri Nov 14 17:40:59 CET 2003


Douglas Alan wrote:
   ...
> The argument that some programmers might be too lazy to want to learn
> powerful, simple, and elegant features that can be taught in seconds,

Programmers may be quite ready to learn anything whose claimed "power"
IS actually there.  But this complex of thread started with somebody
asking for good use cases for reduce, and NONE has been shown.

Programmers need not have any interest in spending what may well be
more than 'seconds' in learning something that will never given them
any *practical* return.  Computer "scientists", maybe, have to be, by
some definition of "scientist".  Fortunately, *programmers* are still
allowed to be very pragmatical types instead.


> Besides, if you weren't exposed at all to LISP (or a LISP-like
> language) while getting a CS degree, it wasn't a very good CS
> program!  They're going to teach you AI techniques in a different

Aha, showing your true colors: I see you have now moved from a
"CS 101 course" (which is given to majors in MANY disciplines)
to a "CS degree".  Quite a different thing.  Around here (for the
same length of course, say 3 years), graduates in "informatical 
engineering", for example, may well not know what a Turing machine 
is, nor be able to name any "AI technique" of practical use (they
may have learned, e.g. alpha-beta pruning, which historically did
originate within AI, but may be more practical today to learn in
completely different contexts) -- but they're likely to know more
than graduates in "informatics" (computer science) about, e.g.,
statistics, and/or how to organize a security-audit.  (I have to
phrase it in terms of likelihood because most majors do offer quite
a bit of choice in terms of what exact courses you can take).

I wouldn't be surprised to find an "ingegnere informatico" (3-years
degree, i.e. BS-equivalent) who doesn't understand 'reduce' at
first; and once he or she has grasped it, I _would_ be surprised
not to get challenged with an "OK, now, what IS it GOOD for?".

When Plato was asked the same question about Geometry, he had a
slave give the querant a gold coin then throw him out of the school:
caring about USEFULNESS was OH so icky to Greek philosophers!  I
would not be surprised if a similar stance (maybe not quite as
overt) lingers in several academic environments.  Fortunately,
though, it seems to me that Engineering faculties have managed
to stay pretty free of it (yep, I'm an engineer, and proud of it,
and proud that my daughter has chosen an engineering major too --
my son chose Economics, a lovely calling to be sure, and is having
a much harder time selecting the courses that concentrate on the
_useful_ stuff ["how do I make a cool million before I'm 30" kind
of stuff:-)] from those which are the Economics equivalent of
"Suppose cows were spheres of uniform density"...:-).


Alex





More information about the Python-list mailing list