Python advocacy

jschmitt at vmlabs.com jschmitt at vmlabs.com
Fri Dec 15 03:16:15 EST 2000


Have you read Gerald Weinerg's book called "The Psychology of Computer
Programming"?  I really enjoyed it and it's where I first encountered
the notion of "ego-less programming".  The idea is that in a code
review situation, I'm allowed to comment on your code without you
taking it personally.  That's the sort of thing I got out of the
article about advocacy.  You have permission to critique the language
without people taking personally.

http://www.geraldmweinberg.com/Bookstuff/Each_Book/Psychology.html

Another problem I have with advocacy relates to progress.  Someone here
at work made the observation that there are two types of language
designers.  There is the type that invent a language, and preach it far
and wide and not make progress on the language.  Forth was the example
used.  Then there is the type that invent a language, observe that it
has flaws, and then design a significantly better language, even if
it's backwards incompatible.  The example used for this was Wirth with
Pascal, Modula-2, Oberon, etc.

I don't know all that much about the status of Forth or Modula-2's
successors.  But I do like the idea of recognizing flaws and designing
something better, even if it means backwards incompatibility.

(Sadly, that hasn't resulted in commercial success for M-2, M-3, or
Oberon.)

If, for some reason, Python3K didn't run Python 2.0 code, I wouldn't be
too bothered.  Mostly it's because my investment in Python isn't that
great but also because I still have Python 2.0 for any legacy code.

Anyway, I like Python much more than Perl and I tell people as often as
the occasion arises.  The only thing I'm advocating here is that people
acknowledge their shortcomings (programming language shortcomings, that
is :-) and deal with them.

In article <3A39AC3E.FA75C4FF at engcorp.com>,
  Peter Hansen <peter at engcorp.com> wrote:
> jschmitt at vmlabs.com wrote:
> >
> > I just read this good article about Perl advocacy.  I think it
applies
> > to Python equally.  I found the link mentioned from /. this morning.
> >
> > http://www.perl.com/pub/2000/12/advocacy.html?wwwrrr_20001213.txt
[snip]
>
> I didn't bother reading the whole thing because I noticed early on
(and
> confirmed throughout) that the author is oblivious to the huge
> investment people put into developing systems in a particular language
> (not to mention the investment in *learning* that language) and the
fact
> that as long as the language stays popular, improves, and continues to
> serve their needs well, they get a payoff from that investment.
>
> If the language "dies", that investment is largely lost.
>
> The theory is that by advocating a language one can increase the
> likelihood of its survival and improvement.  If true, then advocating
a
> language directly serves ones own needs.
>
> There is no reason to focus on the fact that people appear to take
this
> sort of thing personally.  That's probably just human nature, and
likely
> not even a Bad Thing.  The point is there are good and wholly
rationale
> reasons for advocacy even in its current style, and you could say that
> anyone who does *not* advocate a particular language is contributing
to
> its demise (the "if you're not part of the solution, you're part of
the
> problem" theory of life :-).
>
> I think I'll just ignore whatever other, possibly valid points
> Mark-Jason Dominus may have made and carry on advocating as I always
> have.  He hasn't convinced me.
>


Sent via Deja.com
http://www.deja.com/



More information about the Python-list mailing list