why isn't python more popular?

Thomas Wouters thomas at xs4all.net
Mon Aug 14 09:33:01 EDT 2000


On Mon, Aug 14, 2000 at 05:34:51AM -0700, sp00fd wrote:

> But, we're Unix SA's and they have a little C experience, so with perl's
> similarity to C being what it is.....

What, no similarity at all, you mean ? :-) Really, about the only
similarities I can think of are the use of belly-dancing women (aka
INTERCAL's embrace/bracelet pairs) as block delimiters, and the urgent
desire to blow your own brains out after spending 5 hours looking for a bug
caused by a one-character typo someone made by accident after changing some
whitespace in a long-forgotton sub-part of your project.

C's typing system (or lack thereof) is completely unlike Perls' automatic
type-converting system. Perl has a lousy excuse for function arguments,
entirely different call mechanics (the parentheses for calling a function
are optional), a metatype-defining variable-prefix (consisting of characters
which are illegal in C variablenames) and builtin (syntactic) support for so
many things it makes C++ look like assembler.

Python is a lot more like C, except for the indentation thing. And if you
wish, you can use washboard-using women (#{ and #}) in addition to the
indentations, to make it much more like C. Python has largely the same
symbols and operators (and semantics, for basic types) as C, whereas Perl
binds as much as three or four different meanings to the same character.

(Just think about it...

The spot is used for floating-point numbers and string concatenation.

The left and right angle can be used as singles or doubles to do comparison,
or can be combined with a worm for a special case of dereferencing, or with
a half-mesh for a convenient way of creating a hash.

The big money, the whirlpool and the double-oh-seven are used in identifier
names to signal the metatype, but are also used to dereference-and-typify
references.

The squiggle is unary-invert just like in C, but when combined with the
half-mesh or the wow perform on the left-hand big money a match,
substitution, or other magical regular-expression operation, which is
usually defined by slats. But regexps can be defined by any kind of special
character, including sharks, double-oh-sevens, worms, spots, two-spots,
splats, wows, whats, rabbit-ears, spikes, and a lot more. What's more, if
the character has a 'mirror-type', like the angle and the right angle, the
embrace and the bracelet, the U turn and the U turn back, and the wax and
the wane, you can use one of those as the opening character, and the other
as the closing one.

The spark, which is used to quote a single character in C, quotes a whole
string in Perl, just like the rabbit-ears, except that big moneys and
whirpools, and their modifiers (like worm-angles, embrace/bracelets, U
turns, etc) aren't evaluated. The backspark, which isn't used in C, is
somewhat, but not entirely, equivalent to the C 'popen' command, which does
exist in Perl, but is more often written as an 'open' command. And don't get
me started on how Perl has *three* 'and' and 'or' operators, two each
written with ampersands (which I think should be called 'dragons' or
'griffins') and spikes, and one each in english, and all *three* of those
operators have different precedence.)

The-Perl-manual-should've-been-written-in-INTERCAL-lingo-to-warn-
	-off-the-insuitable-ly y'rs,

PS: http://www.tuxedo.org/~esr/intercal/intercal.ps.gz, page 42 (what else).
Or http://www.tuxedo.org/~esr/intercal/intercal.txt.gz, all the way down the
bottom.

-- 
Thomas Wouters <thomas at xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!




More information about the Python-list mailing list