Python vs. PHP (& Java?)

rturpin at rturpin at
Fri Dec 29 18:42:34 CET 2000

I wrote:
>> In contrast, texts in computer languages are more studied
>> as artifacts. "How did this work?" "Why did it stop
>> working?" "What did the original authors intend?" They,
>> the rascals, are no longer around to explain, take credit,
>> or defend their honor. This kind of comprehension requires
>> a high level of competency in the language.

In article <92gghv02iq1 at>,
  "Alex Martelli" <aleaxit at> wrote:
> Are you implying that this _doesn't_ happen a lot for
> many written texts in natural languages...?  Literary
> analysis is all about such work, after all -- and courts
> and lawyers do a lot of that on laws and constitution
> articles.

Of course. And in both cases, it requires a proficiency
beyond normal, either with language generally, as in the
case of literary critics, or with a technically specialized
variant, as with lawyers. I am not trying to draw too sharp
a distinction between natural language and computer language.
This would be foolish: computer languages ARE just
technically specialized parts of natural language. All I
point out is that the manner in which they are used requires
proficiency and scope that most casual communication does
not. The same is true for other technically specialized
sublingua, including hoary examples such as law and medicine.

>> Knowing one-tenth of Perl is not enough to understand
>> most Perl scripts.

> Of course not, but, it IS enough to _write_ a lot of
> somewhat useful scripts ..

Your use of a computer language is fairly limited if
you can only WRITE it. Software engineering requires
the ability to READ. And not just what you once wrote,
but what others have written, including others who have
been using it for years and know all the idioms and
tricks. Even though they are long gone. This is why
software engineering is more like literary analysis or
the study of Constitutional law, than it is like
an after dinner conversation. The interesting and hard
productivity question is not how long it takes a
beginner to complete a task, but how much effort it
requires a group of professionals to maintain a sizable
product, over its lifecycle. (This isn't meant as
criticism of  those who want to use Python for teaching
or personal use. It is a very good language for both
purposes. But my interest and most of my comments are
from the viewpoint of professional use.)

> The complexity of natural language springs in good
> part from the _adaptive_ characteristics (pace Gould...)
> of ambiguity in its use; words serve to hide, as much as
> they serve to show.

That's certainly part of it. There are many social
situations where it is advantageous to say something, but
only so much. It's also the case that in most social
interaction, communication is going on at several levels
simultaneously. A rich language that admits multiple
meaning and implication is very useful. If you want to
look for adaptation, sexual selection may have more to do
with this than natural selection. A silver tongue will
not save you from the lion or bag the deer, but it will
win a heart.

> Nothing "is EXACTLY like" anything else (Korzibsky would
> insist on such firm avoidance of "the IS of identity", but,
> as he doesn't seem to be following this newsgroup regularly,
> I'll have to play his role, I guess). ..

I'm surprised no one brought up the good Count when Clinton
uttered his infamous question.

> Alternatively, of course, great complexity in implementation
> MIGHT be spent towards such targets as optimization, as
> you were interestingly arguing Python should be doing now.

Yep. Keep in mind that only the implementation team has to
tackle the complexity of optimization, whereas the world has
to tackle the complexity of language and semantics.

> But, even if a strongly-optimizing language processor,
> being more fragile, exists more precariously, it IS still
> good to have a simple, clear, transparent "reference
> implementation" to fall back to...

Absolute agreement. More importantly, we poor programmers
need a simple, clear, transparent conceptual model, when
we're trying to puzzle out why some construct behaved as
it did.

> [Perl's] design goals DID apparently include rich,
> exhuberant, redundant abundance -- it seems to have
> matched them closely. ..

That is a most unfortunate goal.

> .. (from your excellent diagnostic-manual on quack
> theories) ..

It's amazing how one post in fifteen years ago has
taken on a life of its own. I would rather you criticize
my recent proposal for caching attribute and method

BTW, didn't we meet once?


Sent via

More information about the Python-list mailing list