For review: PEP 308 - If-then-else expression

Dale Strickland-Clark dale at riverhall.NOTHANKS.co.uk
Sat Feb 8 15:27:01 EST 2003


"Andrew Dalke" <adalke at mindspring.com> wrote:

>I promote Python for computational biologists and chemists.  These
>are people who use computers for their job,and do a bit of programming,
>but do not generally consider themselves to be programmers.
>
>I promote Python because it's a language which is easy to use and
>understand by a broad range of people.  Scientists can start using
>it with little effort, PRECISELY BECAUSE they need only to pick
>up a few basic terms and can hope to understand everything.
>
>And yet Python is also enjoyed by expert programmers, because
>it is a very powerful and expressive language.  This means that
>as a scientist gets more and more proficient at Python and writes
>more and more complex programs, there is no need to switch to
>another langauge to get more expressive power.  It also means that
>code written by the scientist can (realtively easily) be integrated into
>the main codebase developed by the software team.  And it means
>the software developers can more easily help a scientist with a bit
>of tricky code.
>
>The more and more complex Python gets, the harder it is for people
>who don't want to be software developers to learn how to use it.
>
>In the lab, code gets swapped around, and passes on through
>several generations of grad students and postdocs.  It is GOOD
>that there is only a limited vocabulary from which to draw.  Otherwise
>is becomes harder and harder to figure out someone else's code,
>especially since the people I'm talking about don't want to learn
>the whole gamut of the language and prefer to stick to a subset of
>terms which gets things done.  This leads to dialects and leads to
>a lack of the ability to share code and learn from others.
>
This is such a daft argument. If the lowest common denominator is to
dictate language complexity then we'd better all give up now.

To expect others to put up with a restricted language set so that a
bunch of half-interested, non-programmers don't have to put in too
much effort to understand it is staggering arrogance.

If you don't like a feature, don't use it but don't expect others to
put up with your inadequacies.

>> Will people grow up about this? How hard is it to understand a bit of
>> computer code?
>
>Quite.  I've tried to figure out Lisp several times.  I understand it in
>the abstract, but I still can't figure things out looking at the code.

Read a book, for Christ's sake! You have to put in a bit of effort to
understand something new. You can't expect to pick up a new language
without a bit of effort.

>I've had to read home-brew programming languages were I couldn't
>even figure out why certain things existed.  ("Well, 5 years ago we
>needed this special case for the tokenizer/parser/optimizer and it was
>easiest to put a flag here").
>
>It's even worse for those in my target audience, who do not want
>to be good programmers but would rather be good scientist and simply
>need to do some progamming as part of the job.

What do they do if they need some electronics built, some plastic
moulded or metal worked? Do they get an expert in or have a go at
doing it themselves?

I am all for people being self-sufficient and having a go but when
things get too heavy for an amateur call in an expert - and learn from
him/her.
--
Dale Strickland-Clark
Riverhall Systems Ltd




More information about the Python-list mailing list