Why use Perl when we've got Python?!

Xah xah at best.com
Tue Aug 24 06:29:34 CEST 1999


I gather you are a newbie. Normally I'd just kick newbie's ass for the fun
of it, but this time I feel magnanimous and will give you the benefit of a
doubt.

I wrote:
>>Have you ever glanced at a graduate math text? It's probably all Greeks to
>>you. However, if someone in the know who translated all the symbolism to
>>plain English, then it becomes legible.

u wrote:
> I doubt that translating the elegant, condensed notation into verbose English
> would result in anything legible or useful.

I don't know you are in the python camp or perl camp, but apparently you are
not acquainted with the Perl Ways. English has evolved to be extremely
versatile and useful. It gives you the freedom to express anything in any
manner or style you want. If elegance AND terseness is your thing, what
better examples other than poems? (btw, you can do that in Perl too.) There
is nothing whatsoever in math symbolism that cannot be expressed better by
English. For example, a^2+b^2=c^2 can be expressed as "A number multiplied
by itself plus another number multiplied by itself is equal to a third
number multiplied by itself". Now, that's the verbose version you are
thinking of. But look, "Sum of two squared equals one" is a condensed form.
Further, "Sum two squares is one". Or if you are a power speaker: "s2is1",
which is more terse than the symbolic form and no information is lost
because of _context_. (no, pure symbolism cannot do away with context) You
know what a 'ball' is don't you? But in symbols, it's something like
a^2+b^2+c^2=d with some elaborate coordinate system and an arcana of
presumptions.

I suggest that you go to www.perl.com and read Larry's speeches of perl
conf. Anyone will do.

I wrote:
>>It really depends on who's doing the
>>reading. If you are a math guy, then perhaps symbols is your thing. Most of
>>us would prefer English. Legibility is purely subjective.

u wrote:
> If I wanted to understand the graduate math text, I'd make the effort to learn
> the symbols and whatever other background information I needed.  English would
> be needed in acquiring this information, but after that it would be a huge
> hinderance to manipulate ideas using English.

Pissss me!

Granted that a new language like math symbolism might have little
theoretical advantage down the road for some theoretical cleanness,
precision, or maybe expressiveness, but English has been used for literally
eons. The inertia is strong, the legacy is golden, and no one can stop it.
As I said before, it has also evolved into perfection. People will use
English and people will prefer English over any arcane symbolism. It is
egregious a crime that math text books are littered with arcane symbols
instead of plain English. It is why no one in the world likes math.

One thing with English is that it has not evolved into a computing language
yet, thus Perl comes to the rescue. Here's a little history lesson for you:

Larry wanted to process
some text as his job requires at Jet Propulsion Lab. However, with all
unix's power and piping shit with sed and awk and baggage but he couldn't do
it well. Therefore, following the unix tradition, he quickly hacked up his
own language and put it on the net thinking that he's done human kind a big
favor. Since unix community consists of largely of morons, they quickly
picked up Larry's tool without much decision process. Thus, it gradually
rolls into a snow ball. Perl's success is a direct result of democracy.

As a hack (by design), the early Perl is not what we know it today. It does
not have a module system, no OOP, and lacks many of the language features of
'Perl 5'. However, by the ingenious notion of evolution with Larry's
leadership, today we have all these features and beyond in the most diverse
consistency possible. Again, it does not force OOP down anyone's throat.
It's like a car without breaks pre-installed. The freedom of installation is
up to YOU.

Do me a favor and research on Perl history yourself.

I wrote:
>>However, the ivy tower class of buttheads insist on symbolism for math,
>>clinging to the fancy that certain ideas are better expressed in certain
>>language. They created a whole barrier of entry. You couldn't believe what
>>kind of perverted use of symbols they invent. I know because I've been there

u wrote:
> Mathematics is the invention and manipulation of symbols,  so you can
> hardly blame these guys for doing their jobs in life.

Mathematics is the invention and manipulation of symbols, eh??? You go back
to school!

Try to convince your professors to write damn math texts in plain English,
so you might get more bang out of your schooling.

I wrote:
>>On a personal note...  Do you know what a computer science degree is these
>>days? They require you understand shits like lambda calculus, logic, graph
>>theory, combinatorics, or even algorithms??

u wrote:
> Maybe at the ``ivy league'' schools. Where I studied I did all networking,
> advanced operating systems, compilers, advanced machine architectures,
> numerical analysis (which I flunked), that sort of thing.  With a big dose of
C
> hacking in all of these.  (Of course logic and algorithms as well, doh!)
>
> The studies that you describe are intended for people who are destined
> to become academics rather than software developers. To ``go on'' as they say.
> I think you simply went to the wrong school, one that didn't offer the hands
on
> systems programming and software development experience.

Perhaps Larry lives nearby your school and was able to make a better
curriculum by hegemony. Still, I think the logic and numerical analysis
courses should be completely dropped. Operating Systems courses should be
replaced by Unix Sys Admin. Networking courses should be replaced by TCP/IP
and DNS/Bind. (use Oreilly's excellent texts) The Compiler courses should be
replaced by teaching Perl. (we still need someone to implement Perl in Perl,
for nothing other than impressing some of the functional language asses.)

>advanced machine architectures

Is that a course teaching chips design? My favorites are Printos and
Torridos.

> Incidentally why would you be advocating Perl if you don't like terse
> ``mathematical'' notations? I don't get it. For the most part, Perl programs
> look like line noise to the uninitiated.  If you prefer English to terse
> symbols, shouldn't you be advocating AppleScript or something? Your outlook
> appears to be hopelessly inconsistent.

AppleScript only looks English, but does not have all the essential
qualities of natural languages. Like Python and others, it's too consistent
and ram some OOP or Object Models down your throat. Don't start me on Apple.
When it comes to Apple, they always push for useless change. In the past
years they degraded programers' social status with the oh--sooo-cute color
iMacs and G3 towers, and in September they'll have this
oh--sooo-cute-I'm-drooling iBook and AirPort technology probably semi-stolen
from unix's RFC standards. (RFC is an abbreviation for Really Fucking
Common)

As Larry has well said, Perl is a post-modern language. The language of the
New Age era.

 Xah
 xah at best.com
 http://www.best.com/~xah/PageTwo_dir/more.html
 "Perl: all unix's stupidities in one."
      -Larry Wall, from antimatter universe




More information about the Python-list mailing list