[KULUA] Perl Puzzles -- a challenge for Perl mongers

Stephen D. Spencer kulua at boneyard.lawrence.ks.us
Wed Jun 6 13:35:25 CDT 2001


Disclaimer,

Yes, I'm reading this thread kind of backwards...

On 4 Jun 2001, Mike Coleman wrote:

> My intent is not to bash, but rather to criticize (in the formal sense).

if( $bashing != syntactic_sugar(criticism) ) {
	im_a_monkeys_uncle();
}

 :)

> [...] emacs vs vi, or even chocolate
> vs strawberry.  That is, primarily a matter of taste and not substance.  I
> believe that this is not the case.

Well, that statement is flame-bate in and of itself (don't worry, I didn't 
bring the flame thrower)  I think a more appropriate analogy would be emacs
vs. xemacs or nvi vs. vim or dark chocolate vs. milk chocolate...

> 
> I think that Python is better than Perl (for most tasks) because it has a very
> clear, parsimonious, intuitive syntax and semantics, whereas Perl's is so
> complex and equivocal that even experienced Perl programmers cannot correctly
> divine the meaning of arbitrary snippets of Perl code.

Heheheh.  Read my last message.  Prototyped any C projects in python lately?
Some folks actually find it to be a "best" tool for crawling into the guts
of C, actually.  Has something to do with how when perl programmers wrap
C libraries for use in perl modules, they tend to look strikingly like C
without the manual memory allocation stuff.  Now, if you are only speaking
of web programming and/or systems scripts, please indicate such.  

The nice thing about OOP is that you can't see the guts of the class.  The
horrifying thing about OOP is that you can't see the guts of the class.  
Just because you can wrap your code in a pretty little class definition,
doesn't mean your code still doesn't suck.  I've found poorly designed 
algorithms (or, more precisely, poorly _expressed_ algorithms) to be
the biggest annoyance in reading or using anyone's code.  That issue is 
purely language independant.

> 
> Python also has modern programming features like OO and exceptions designed
> in, not bolted on as with Perl.

When nine hundred years old are you, look you so good you will not!

> Beyond that, the languages are basically
> equivalent in power.  

Hrm.  Well, the python tome I have actually says something about python being
a bit slower...

> I think these are significant reasons for programmers to
> use Python in preference to Perl.

Well, I'm glad that's settled.

> [...]. 
> Someone at my KCLUG talk (someone that likes Perl, I think) asked me something
> like "Can't we all just get along?". [...] 

> My objections stem from two problems.  First, I think we do a disservice to
> new programmers if we don't point them in the right direction.  If someone
> says to me "I want to learn a scripting language--which should I learn
> first?", my answer would be "Python or Lisp, the former being more practical
> and the latter more powerful".

Did you grow up in a fundamentalist Xian household?  This sounds
frighteningly like the reasoning the Xians use to cram their dogma down 
other folks' throats.  I sure hope some dump fanatical bastard doesn't decide
to show up at the perl conference with a jacket lined with C4...

> 
> [...] How useful it is to be able to see the future coming!)
> 

Yes, yes.  Of course, in 1987, there were few efforts being made to do much
of anything for cross-platform  purposes.  Had the ANSI C 1.0 standard even
been solidified yet?  My hat is off to your former coworker for having the 
forsight to see that some degree of cross-platformism has much more of a 
future than proprietism.  He had evidently been keeping up with what was
going on in the research world.  

I see only tenuous strands of logic connecting that particular situation to
that of the co-existence of perl and python.

> Second, if we treat the languages as equivalent, to keep the peace, those who
> are in a position to choose between Perl and Python for significant projects,
> but who are not familiar with the actual merits of the languages (and the
> general body of knowledge of our discipline) will choose Perl by default.
> Why?  

Because RedHat r00LZ and FreeBSD sucks!  I think the real question here is: 
What would Linus do?

Actually, it seems that you have been in the "industry" for quite some time.
The stock response will I give unto you.   You have the following options: 

1) go to work for an organization that will help your perpetrate your life's
goals.  If such a goal is getting to use python for commercial projects, 
make it so.  I'm sure they're out there.

2) make it known that you wish to be a project leader.  Show that python
is an adequate (or perhaps even ideal) programming language and do the 
deed.  I sincerely doubt that syntactic_sugar(criticism) of perl will 
win too many followers.  If it _is_ so much of a better language, put
yourself in the situation where it can be _demonstrated_. (see 3)

3) get yourself into a small-project solo type project where your manager
or whatever essentially says, "I want you to put something together
that does <X>."  Do it in python.  Get it done in 1/3 the time it 
takes an equivalent Perl project.  Show documentation that clearly out-
lines how your code works and show it to intersted parties.  It's that
whole thing about: you can't attract flies with fly pape... erm... well,
you get the picture, right?

> Because there are more Perl programmers, or at least, more programmers
> who list Perl on their resumes.  

When nine hundred years old are you, look you so good you will!  

> [...] 
> Like FORTRAN, COBOL, BASIC and Algol before, Perl has been a dramatic
> contribution to our discipline.  Nothing can change that.  Now, though, I
> think it's been superseded and, as far as I can see, will become a niche
> language long-term.
> 

The same has been said about Java.  The same was said about C++ and Pascal.
The same has been said about csh and bash.  The same was said about Olestra.
(hey, you won't get fat!  you'll just be dropping molecules the size of 
bowling balls out your ass!)

Anyway, I will take this opportunity to admonish you for sounding like
a pathetic teenager.  The whole X vs. Y thing is so very pointless as to
make one's eyeballs and ears excrete blood (yeah, that's my theme for
the month).  

Advocacy in this form is proverbially like the fellow with the C4 suit
walking into the shopping center: it will get you no sympathy from the world
at large and only the support of other zealots.  If you wish to suggest
python to folks looking for a language to start with, fine.  Do it.  The
blessing of all upon you and your house.  If you wish to see python become
more prevalent in the "industry", do so through action rather than trying
to do so through pendantry.  

My $3.50.

-Stephen




More information about the Kclug mailing list