Popular conceit about learning programming languages

David Mertz mertz at gnosis.cx
Thu Nov 21 14:00:47 EST 2002


|I always wanted to ask to David Mertz ;-) :  Why the Ph.D. title in
|the signature ?

OK... first things first :-).  I added a few new keystrokes to my
mailing environment to send messages lacking the pretentious title.  I
apologize to any readers of previous posts who assumed too early that I
was an s.o.b.  (i.e. before reading my actual posts).  Astute readers of
c.l.py, however, will notice that most of my posts (to everywhere in the
world) have used a considerably less high-falutin From:  line.

The reason, FWIW, is that since I do not hold an academic post, folks
whom I correspond with--publishers, contracting companies, etc.--would
assume I have much less education.  The pretentious title is a little
game to skip an initial period of status negotiation (i.e.  I might be
wrong, but I'm not fresh-faced and inexperienced).  But obviously that's
not a c.l.py thing.

mis6 at pitt.edu (Michele Simionato) wrote previously:
|It is true that you can read the Python tutorial in couple of hours,
|"understand" most of it and start immediately programming in Python.
|In a couple of days you can also write some non-trivial program (I wrote
|my first non-trivial program with Python within a week, working on my
|spare time). But this does NOT mean that you have learned Python.

I agree with all Michele remarks.  My timeline was similar, although
probably even after that week, I kept the tutorial in another window to
jump back to remember exactly how Python spells such-and-such.

There is a sense in which professional linguists "learn" a new language
which is similar here.  Now as a start, most of the linguists I have
known have a facility with natural languages that far outshines mine,
and really quite amazes me.  So there is an obvious ability involved.
But even given that, a comparative linguist who "learns" Tlingit doesn't
really learn to carry on conversations with Tlingit speakers (some do,
of course, but there's a more superficial level that is more common).
Instead, said linguist learns something about the Nadene language family
and its other members.  She gets a sense of its verb ordering,
inflectional qualities, tonality, phonemic set, morphology, etc.
Probably she learns enough words to construct some sample sentences, to
illustrate how formations differ from Haida.

When programmers optimistically "learn" a language in a couple days, it
is a similar thing.  For example, I've heard about Eiffel from time to
time, but don't really "know" the language.  Still, I've browsed some
tutorials.  I know roughly what it's idea of OOP is, and that it allows
multiple inheritence.  I even know that Eiffel is unusual in having
contravariant method signatures.  I know it has static types, and OOP
permeates its type system.  I understand why Meyer thinks "programming
by contract" is important.  In fact, I even know Eiffel syntax well
enough to recognize it on sight.

But I don't know Eiffel.  I could write a program in it--nominally
non-trivial--but I would be flipping pages back and forth every time I
wrote another line.  A lot like the way I can "read" a number of natural
languages with a dictionary on my lap.

Yours, David...

--
 mertz@   _/_/_/_/_/_/_/ THIS MESSAGE WAS BROUGHT TO YOU BY:_/_/_/_/ v i
gnosis  _/_/                    Postmodern Enterprises         _/_/  s r
.cx    _/_/  MAKERS OF CHAOS....                              _/_/   i u
      _/_/_/_/_/ LOOK FOR IT IN A NEIGHBORHOOD NEAR YOU_/_/_/_/_/    g s





More information about the Python-list mailing list