ap

Tom Christiansen tchrist at convex.COM
Wed Jun 5 11:36:32 AEST 1991


>From the keyboard of byron at donald.tamu.edu (Byron Rakitzis), quoting me:
:>I've never met a *good* C programmer who's had any real problems with [perl].
:
:What is a *good* programmer? One who has no trouble learning perl? This is
:a very circular definition. Otherwise, I don't think you're in any position
:to judge my ability as a programmer. This is just ad-hominem.

It wasn't meant to be.  It was based on my experiences.  The people who
ask the most pointed questions while learning perl have been those who
have a deep knowledge of C, and probably other languages as well.  Once
your brain evolves a language-lawyer mentality, you tend to apply this 
way of thinking to all you come in contact with.  Good C programmers 
have always picked it up quickly.  Budding programmers can have more
trouble, but at least they just get null strings, not core dumps.

:>There may be a momentary bit of discomfort at seeing dollar signs and
:>thinking of BASIC, but this quickly passes.  Certainly no *good* programmer
:>finds it hard.
:
:Ok, I haven't seen any *good* programmer have any trouble with JCL either.
:After the inital discomfort of having to type all those //, the feeling
:soon passes. (!!)

I don't happen to find any parallelism between those two cases.

:>You mean like these:
: [deleted]
:Yes, I mean like those. I think my hypothetical example was more concise
:than any of the suggested replies above.

Not every problem requires the same tool as its answer: that's why we have
such a wide variety of them.  I still use sed and awk from the command
line.

:I think you miss the point. An expressive language does not imply a perl-
:like language. A language with the powerful features of perl that's been
:designed carefully without trying to incorporate syntactic features of
:every programming language known can be just as expressive.
:
:I don't want my language to have a BASIC way of doing things, an APL way
:of doing things, a C way of doing things...

To borrow a quote from a colleague, programs in large languages come out
small, those in small ones come out long.  I happen to prefer my languages
big because I want my programs small; less writing time.  I've been
shocked by a lot ruder things in this life than mere dollar signs in front
of variable names or having more than one way to express a for loop.

:Do you know what part of C Dennis Ritchie is most unhappy with? The declaration
:syntax! Yes! It's stupid and ugly and hard to understand. 

That's why I chose it.  To point out there exist awkwardnesses that the
authors wish they'd have done differently had they the chance to redo it.
That doesn't stop their creations from filling vacuums and achieving
widespread use.  It just gives us something to complain about. :-)

:I don't see what your problem is. Clearly perl was not written in a single
:vision. If *anything* is an agglomeration of random features, it has *got*
:to be perl.

While we users have contributed somewhat to perl's development, such 
as our crying out for the <=> operator, by and large the whole thing
is the brainchild of one man.  Certainly he drew from many sources, but
that's not the same as having a committee sit down to define a new 
language: along that path lies madness and ADA.

I don't really see what this thread is doing in comp.unix.shell, when 
to my ears it sounds a lot more like a candidate for alt.religion.computers
instead.   I've directed followups there, which is where people like 
to argue about things like this.  

I think you'll find that if you set about trying to improve awk, what 
you'll come up with will be a lot more perlian than you're expecting.
Read Henry Spencer's paper on awk as a systems programming language.
99% of his laments about awk's shortcomings were things that Larry
had already handled in perl before he'd even spoken with Henry about it. 
Common problems often spawn remarkably similar solutions through 
convergent evolution.

You're obviously a small-is-beautiful person, one valuing aesthetics over
utility.  Fine.  If you don't like it, don't use it.  But a lot of us find
it the neatest thing since sliced bread, and we get a lot of milage out of
this funny-looking camel.  It's not some prancing show horse with oh so
beautiful lines triggering oohs and ahs from the audience.  But I know
which beastie *I'd* rather have in the desert: the one that gets the job
done quickest without breaking down due to lack of horsepower, or in this
case, camelpower.


--tom
--
Tom Christiansen		tchrist at convex.com	convex!tchrist
	    "Perl is to sed as C is to assembly language."  -me



More information about the Comp.unix.shell mailing list