[10479] in Perl-Users-Digest
Perl-Users Digest, Issue: 4070 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Oct 26 12:35:28 1998
Date: Mon, 26 Oct 98 09:04:23 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Mon, 26 Oct 1998 Volume: 8 Number: 4070
Today's topics:
Re: Not to start a language war but.. <dheise@metronet.de>
Re: Not to start a language war but.. (Tor Iver Wilhelmsen)
Re: Not to start a language war but.. <JamesL@Lugoj.Com>
Re: Not to start a language war but.. (Matt Knecht)
Re: Not to start a language war but.. <Klaus.Schilling@home.ivm.de>
Re: Not to start a language war but.. (David Alan Black)
Re: Not to start a language war but.. (Abigail)
Re: Not to start a language war but.. <tchrist@mox.perl.com>
Re: Not to start a language war but.. <metcher@spider.herston.uq.edu.au>
Re: Not to start a language war but.. <dgris@rand.dimensional.com>
Re: Not to start a language war but.. <c.evans@clear.net.nz>
Re: Not to start a language war but.. <sugalskd@netserve.ous.edu>
Re: Not to start a language war but.. (Andrew Snare)
Re: Not to start a language war but.. (Andrew Snare)
Re: Not to start a language war but.. <sugalskd@netserve.ous.edu>
Re: Not to start a language war but.. (Ronald J Kimball)
Re: Not to start a language war but.. (David Formosa)
Re: Not to start a language war but.. (Cees de Groot)
Re: Not to start a language war but.. (Cees de Groot)
Re: Not to start a language war but.. (Abigail)
Re: Not to start a language war but.. <Klaus.Schilling@home.ivm.de>
Re: Not to start a language war but.. (Rob Partington)
Re: Not to start a language war but.. <jdf@pobox.com>
Re: Not to start a language war but.. dturley@pobox.com
Re: Not to start a language war but.. huntersean@hotmail.com
Re: Not to start a language war but.. <akuchlin@cnri.reston.va.us>
Re: Not to start a language war but.. huntersean@hotmail.com
Re: Not to start a language war but.. <Paul.Makepeace@POBox.com>
Special: Digest Administrivia (Last modified: 12 Mar 98 (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 25 Oct 1998 22:14:10 GMT
From: "Dirk Heise" <dheise@metronet.de>
Subject: Re: Not to start a language war but..
Message-Id: <01be0064$a9981ac0$LocalHost@dreadzone>
Maybe he meant: In a way that makes sense...
Justin B. Harvey :
> What do you mean it's hard to modify someone else's code? Works for
> me...
>
> Cees de Groot wrote:
> >
> > Tom Christiansen <tchrist@mox.perl.com> said:
> > >In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
> > >:The more $@%{}/* -> => symbols, the better. Who cares
> > >:if the result is an unreadable code?
> > >
> > >This was a lie yesterday. It is a lie today. It shall be a lie
tomorrow.
> >
> > Well, it was the reason I moved from Perl to Python for SGMLtools, and
> > I'm very happy I've done so. I've tried for 4 years to write R/W code
> > in Perl, and then simply gave up (why try when there are
alternatives?).
> > Perl is effectively a single-user language - no harm with that, but not
> > suited for the numerous occasions when you need to modify someone
else's
> > code.
> >
> > --
> > Cees de Groot http://pobox.com/~cg
<cg@pobox.com>
> > --- We're hiring Java developers => www.acriter.com
>
Dirk
------------------------------
Date: Sun, 25 Oct 1998 22:25:20 GMT
From: toriw@online.no (Tor Iver Wilhelmsen)
Subject: Re: Not to start a language war but..
Message-Id: <3639a369.356332968@news1.telia.com>
On 24 Oct 1998 23:35:02 GMT, gebis@fee.ecn.purdue.edu (Michael J
Gebis) uttered:
>One word: indentation.
Funny: I always indent my Perl code as well - I bet a lot of people
do. Are there any advantages to using braces for delimiting blocks
other than "'cause C does"?
--
Tor I. Wilhelmsen toriw@online.no
------------------------------
Date: Sun, 25 Oct 1998 14:29:57 -0800
From: James Logajan <JamesL@Lugoj.Com>
Subject: Re: Not to start a language war but..
Message-Id: <3633A664.83A43C05@Lugoj.Com>
Tom Christiansen wrote:
>
> [courtesy cc of this posting sent to cited author via email]
>
> In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
> :The more $@%{}/* -> => symbols, the better. Who cares
> :if the result is an unreadable code?
>
> This was a lie yesterday. It is a lie today. It shall be a lie tomorrow.
Mike Orr's post appeared to me to be an otherwise well considered piece
that attempted to answer the original poster's questions. It appears
to me that Mr. Christiansen is fixating on a side issue that isn't
so much a lie as an unsubstantiated claim.
It should be pointed out that Tom Christiansen has a vested financial
interest in promoting Perl, as he is a co-author of at least 5 Perl
books: Learning Perl, Programming Perl, Programming Perl on Win32,
Perl Cookbook, and Programming Perl (Nutshell Handbook). Therefore
one should scrutinize his arguments most carefully before accepting
them.
If anyone cares, I was part of a group that had to choose a language
for a product; none in the group had any deeply vested interest in
any of the languages that we narrowed to (Lua, Tcl, Perl, Java, and
Python). Some in the group had experience with some of those (Tcl and
Perl) and some realized that some languages would enhance
their resume (Java). But it was a unanimous decision by the 4 of
us that Python was the best choice. I should point that one of the
two who knew Perl felt that printouts of Perl programs looked like
a drunk chicken with dirty feet had walked over the paper. I guess
this opinion is a lie; or more to the point it is an emotional
characterization of a much-maligned language. All I can say is that
when he made the remark, I thought "My god, he's right!" I guess
I'm a liar too.
P.S. Before evaluating these languages I had never worked with any
of them but had been a Unix/C/C++ programmer for years and had
written plenty of Bourne-shell, csh, and awk scripts. Theoretically
I should have embraced Perl; I didn't and I wont.
------------------------------
Date: Sun, 25 Oct 1998 22:42:01 GMT
From: hex@voicenet.com (Matt Knecht)
Subject: Re: Not to start a language war but..
Message-Id: <ZONY1.31307$ZF.3546724@news3.voicenet.com>
Tor Iver Wilhelmsen <toriw@online.no> wrote:
>On 24 Oct 1998 23:35:02 GMT, gebis@fee.ecn.purdue.edu (Michael J
>Gebis) uttered:
>
>>One word: indentation.
>
>Funny: I always indent my Perl code as well - I bet a lot of people
>do. Are there any advantages to using braces for delimiting blocks
>other than "'cause C does"?
Because sometimes it's better to write:
if ($x) { y() }
Than
if ($x) {
y();
}
Other numerous examples abound. It's nice to have the choice.
Of course, I'd most likely write that as:
y() if $x;
The nice part is, I'm free to choose what fits best in whatever I'm
working on at the moment.
--
Matt Knecht - <hex@voicenet.com>
------------------------------
Date: 26 Oct 1998 00:07:08 +0100
From: Klaus Schilling <Klaus.Schilling@home.ivm.de>
Subject: Re: Not to start a language war but..
Message-Id: <87zpak8cmb.fsf@ivm.de>
Tom Christiansen <tchrist@mox.perl.com> writes:
>
> This is not the fault of the language: horrible programmers always create
> unmaintainable code. You cannot blame us that Perl is easier for bad
> programmers to approach -- and be for their purposes successful with --
> than is Python. Given the reasonable estimates of at least thousand or
> more perl programmers for every individual python programmer, I reckon
> that if you had just 10% of the supercrappy programmers that we have
> programming Perl come over to your sandbox to code up pessimal Python,
> the same comment would apply.
Scheme is tons easier to get started with for crappy programmers like myself,
who have only pure abstractions in their mind and lack any practical clue, and
still there are way less Guilers than Pythoneers, let alone Perlers or Tclers.
1:100000 is not enough there. May I borrow some thousands of your supercrappy
programmers for some guile-based projects?
Klaus Schilling
------------------------------
Date: 25 Oct 1998 19:07:22 -0500
From: dblack@pilot.njin.net (David Alan Black)
Subject: Re: Not to start a language war but..
Message-Id: <710efq$irb$1@pilot.njin.net>
Hello -
mso@eve.speakeasy.org (Mike Orr) writes:
>In <70tlkq$8gu$1@csnews.cs.colorado.edu> Tom Christiansen <tchrist@mox.perl.com> writes:
>>In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
>>:The more $@%{}/* -> => symbols, the better. Who cares
>>:if the result is an unreadable code?
>>This was a lie yesterday. It is a lie today. It shall be a lie tomorrow.
>Which of these do you find the most readable and why?
>for (keys %args) { $self->$_($args[$_]); }
I'd like to know what scalar value you think can be both an object
method name, and a (numerical) index into an array.
[snip]
>sub update($;%) {
> $dict = shift;
> %args = @_;
> while( ($key, $value) = each %args ) { # Incorrect?
> %dict{$key} = $value;
> }
>}
># Later in the program.
>update(%mydict, subject => 'Hi', children_count => 4);
%dict{$key} is illegal, and looks completely wrong instantly.
Passing the entire hash %mydict, and trying to pick it up with
one scalar, is wrong (although you could use the syntax you've
used to do what you think you've done if you'd written the
prototype to do what you thought it was going to).
What you've offered us here is Perl soup. Actually mock Perl soup.
You'd really want to get a handle on Perl, before coming to any
conclusions about its supposed inherent unintelligibility or - above
all - about the frivolity of those who use it.
David Black
dblack@pilot.njin.net
------------------------------
Date: 26 Oct 1998 01:46:34 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: Not to start a language war but..
Message-Id: <710k9q$afg$1@client3.news.psi.net>
Tor Iver Wilhelmsen (toriw@online.no) wrote on MDCCCLXXXI September
MCMXCIII in <URL:news:3639a369.356332968@news1.telia.com>:
++ On 24 Oct 1998 23:35:02 GMT, gebis@fee.ecn.purdue.edu (Michael J
++ Gebis) uttered:
++
++ >One word: indentation.
++
++ Funny: I always indent my Perl code as well - I bet a lot of people
++ do. Are there any advantages to using braces for delimiting blocks
++ other than "'cause C does"?
Yes, one doesn't have to use indents:
sort {$a <=> $b} @list;
if (cond) {something;}
else {something_else;}
/foo/ && do {bar; next;};
And on the other hand, a fair number of my statements are much
longer than a line. I would hate to have an end of line count
as a end of statement.
Abigail
--
perl -wlne '}for($.){print' file # Count the number of lines.
------------------------------
Date: 26 Oct 1998 01:49:53 GMT
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: Not to start a language war but..
Message-Id: <710kg1$mr0$1@csnews.cs.colorado.edu>
[courtesy cc of this posting sent to cited author via email]
In comp.lang.perl.misc, James Logajan <JamesL@Lugoj.Com> writes:
:It should be pointed out that Tom Christiansen has a vested financial
:interest in promoting Perl, as he is a co-author of at least 5 Perl
:books: Learning Perl, Programming Perl, Programming Perl on Win32,
:Perl Cookbook, and Programming Perl (Nutshell Handbook).
:Therefore
:one should scrutinize his arguments most carefully before accepting
:them.
You mean you don't scrutinize everyone's arguments before accepting them?
Here's the deal:
Think of Perl's variable naming as a variant on Hungarian notation.
Instead of saying s_string, a_list, h_table, we just say $string,
@list, and %table. In both cases, the typing information is right
there in front of you. Extra context helps in reading.
Think about the stronger accordance of case, number, and gender often
found in other Western languages beyond Enligsh. Once you become
accustomed to them, those inflections actually make it easier to
understand what is said or written, not harder.
Oh sure, it's a bit more work at first learning that inflection
system, but this is of little important, because one doesn't optimize
a professional tool for the one-time, 5-second user. One optimizes for
long-term use.
It's not really that big a deal, but the constant repeating of this lie
that increased context makes understanding worse is simply ridiculous.
And yes, it is a factual error, not merely an opinion. We aren't
talking about a moral thing here. We're talking about how people
grasp information.
Increased context means you have to remember less, and to reduce the
number of ambiguous cases. Moore context and less ambiguity would
seem to me to be a feature. That's what this is about. It's like the
capitalization of English, or non-letter characters in a sentence --
these help guide the eye and mind. A lack of markers is not easier.
It's not impossible, but it is certainly harder; just try it sometime.
Markers are important.
But either way, this matter of punctuation as a friendly reminder of
the variable type is surely the last criterion I can conceive of for
selecting a language. More important are matters like robustness,
support, documentation, how hard it is to find someone else who knows
that language, flexibility, extensibility, scalability, and development
tools -- just to name a few. By focusing on this red herring of so-called
readability, you do a disservice to the profession, especially when you
do in such a totally wrong-headed way claim that a highway with roadsigns
is far harder to cope with than one without any.
Now, I can think of little that disgusts me more than insinuations that
I've been bought off, and that therefore I am not to be trusted for
fear that I'm trying trick you out of your hard-earned shekels just so
to feather my own nest. If I were in this to get rich, I'd be acting
extremely differently, don't you think? One can easily dig up Usenix
postings of mine from a decade ago or more ago saying essentially what I'm
saying now. Did it ever occur to you that a perfectly valid explanation
is that my background puts me in a *better* position than most, not a
worse one? I feel like you just told someone not to trust his doctor
because the doctor's goal is to make the patient pay money, and that it's
much better to get advice from someone who knows nothing about medicine.
--tom
--
*** The previous line contains the naughty word "$&".\n
if /(ibm|apple|awk)/; # :-)
--Larry Wall in the perl man page
------------------------------
Date: Mon, 26 Oct 1998 12:03:12 +1000
From: Jaime Metcher <metcher@spider.herston.uq.edu.au>
Subject: Re: Not to start a language war but..
Message-Id: <3633D860.4BE579EF@spider.herston.uq.edu.au>
If I see:
for (keys %args) { $self->$_($args[$_]); }
I think "there's a code I don't understand - I'd better look it up".
And if I see:
self.__dict__.update(args)
I think "there's a code I don't understand - I'd better look it up".
Even if I see:
sub make_a_pot_of_tea;
I'm *still* going to look it up. I'm not going to just assume that the
routine will make a pot of tea.
I bet I'd spend the same amount of time looking each up.
This punctuation thing seems to be a big one for some people. I have to
say it's a non-issue for me. Computer code is just that - code - and
something that looks like it's not code is misleading. I've spent too
much time with physics, where we use everyday words for highly specific
concepts (If you push on my building for an hour, you haven't done any
work because you haven't moved it. On the other hand, if you fall off a
log while fast asleep, you've expended a lot of energy), and maths,
where you can go for weeks without seeing an alphanumeric character, to
be impressed by how something looks.
--
Jaime Metcher
Mike Orr wrote:
>
<snip>
> both languages have similar abilities and libraries. Perl evokes the
> image of the archetypal hacker sitting at home experimenting, doing it
> *his* way, dammit, and nobody better come tell him he should do it
> differently. The more $@%{}/* -> => symbols, the better. Who cares
> if the result is an unreadable code? Python adherents prefer order and
> clearness: they want their work readable by others and see their
> piece of code functioning in a larger whole. You get the feeling that
------------------------------
Date: Mon, 26 Oct 1998 02:41:18 GMT
From: Daniel Grisinger <dgris@rand.dimensional.com>
Subject: Re: Not to start a language war but..
Message-Id: <m367d8jbve.fsf@rand.dimensional.com>
James Logajan <JamesL@Lugoj.Com> writes:
> It should be pointed out that Tom Christiansen has a vested financial
> interest in promoting Perl, as he is a co-author of at least 5 Perl
> books: Learning Perl, Programming Perl, Programming Perl on Win32,
> Perl Cookbook, and Programming Perl (Nutshell Handbook). Therefore
> one should scrutinize his arguments most carefully before accepting
> them.
This is a dangerous and unfair argument to make. Dangerous because
it smacks so much of pettiness and thus reduces your credibility.
Unfair because you, Tom, I, and all other programmers have a vested
financial interest in _some_ language. We all have some language
that we get paid to use. We all have some language whose increased
acceptance would provide us with a greater demand for our skills,
thereby raising our market value.
> But it was a unanimous decision by the 4 of
> us that Python was the best choice.
Now you have a vested financial interest in python, as you have
skills that will provide greater financial benefit if python is
adopted by a larger portion of the commercial world. Therefore
one should scrutinize your arguments most carefully before
accepting them.
dgris
--
Daniel Grisinger dgris@perrin.dimensional.com
Supporter of grumpiness where grumpiness is due on clpm.
perl -Mre=eval -e'$_=shift;;@[=split//;;$,=qq;\n;;;print
m;(.{$-}(?{$-++}));,q;;while$-<=@[;;' 'Just Another Perl Hacker'
------------------------------
Date: 26 Oct 1998 15:40:18 +1300
From: Carey Evans <c.evans@clear.net.nz>
Subject: Re: Not to start a language war but..
Message-Id: <8790i482ra.fsf@psyche.evansnet>
hex@voicenet.com (Matt Knecht) writes:
> if ($x) { y() }
>
> Than
>
> if ($x) {
> y();
> }
That's true; it's sometimes more readable to say:
if x: y()
than
if x:
y()
I suppose it's sometimes even more readable to say:
if x: y(); z()
I'm not even sure if I prefer Perl's {...} over Rexx's Do .. End.
Perl definitely beats Rexx almost everywhere else though. (Maybe I
should crosspost this to comp.lang.rexx and see they think?)
> Other numerous examples abound. It's nice to have the choice.
>
> Of course, I'd most likely write that as:
>
> y() if $x;
That depends a lot on the nature of x and y. Sometimes I'd rather
use:
$x && y(); # or should that be "and"?
> The nice part is, I'm free to choose what fits best in whatever I'm
> working on at the moment.
True. Sometimes I prefer:
print
map {$_->[1]}
sort {$a->[0] <=> $b->[0]}
grep {$_->[0] >= 1000}
map {[(split(/:/))[2], $_]} <>;
over whatever that would be in Python, although the following is much
clearer once you know awk and sort.
$ awk -F: '$3 >= 1000' /etc/passwd | sort -t: -k3n
And sometimes I prefer:
pw = open("/etc/passwd")
while 1:
line = pw.readline()
if line == "": break
do_something(line)
pw.close()
over:
open(PW, "/etc/passwd") || die "open failed: $!";
while (<PW>) {
do_something($_);
}
close(PW) || die "close failed: $!";
especially when written by someone who forgets to check return values.
BTW, I've always wanted to know this: what happens in the Perl example
if the read returns an error (e.g. an I/O error), as opposed to an
end of file?
--
Carey Evans http://home.clear.net.nz/pages/c.evans/
"So, do you steal weapons from the Army often?"
"Well, we don't get cable, so we have to make our own fun."
------------------------------
Date: 26 Oct 1998 03:28:21 GMT
From: Dan Sugalski <sugalskd@netserve.ous.edu>
Subject: Re: Not to start a language war but..
Message-Id: <710q8l$e9l$1@news.NERO.NET>
In comp.lang.perl.misc Cees de Groot <cg@bofh.cdg.acriter.nl> wrote:
: Tom Christiansen <tchrist@mox.perl.com> said:
:>In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
:>:The more $@%{}/* -> => symbols, the better. Who cares
:>:if the result is an unreadable code?
:>
:>This was a lie yesterday. It is a lie today. It shall be a lie tomorrow.
: Well, it was the reason I moved from Perl to Python for SGMLtools, and
: I'm very happy I've done so. I've tried for 4 years to write R/W code
: in Perl, and then simply gave up (why try when there are alternatives?).
: Perl is effectively a single-user language - no harm with that, but not
: suited for the numerous occasions when you need to modify someone else's
: code.
Not to put too fine a point on it, but... I've spent far more of my life
than I care to remember maintaining code written by other people. I've
seen, and often had to fix, code written in C, C++, BASIC, perl, ARexx,
DCL, shell, JCL, Progress, FORTRAN, SQL, COBOL, a handful of assembly
languages, Forth, and Postscript. I've seen crappy code in all those
languages, and good code in all those languages (with the exception of
JCL. Ick).
Crappy programmers can produce crappy code regardless of the language
used. In no case did *any* of those languages help someone without a clue.
Thinking that language choice will make any difference on the quality of
the resulting code is so wrong it borders on delusional.
An idiot with a Stradivarius will produce music that sounds just as bad as
an idiot with a $100 used school violin. And a master violinist will
produce better music on that cheap violin than the idiot will ever hope to
on anything.
The best we get is tools with tendencies. Choosing a tool whose tendencies
don't match your problem set is a foolish thing. Choosing one based on
superficial review of the way code looks is downright stupid. Might as
well choose a violin based on how shiny it's varnish is.
Dan
------------------------------
Date: 26 Oct 1998 14:30:30 +1100
From: ajs@pigpond.com (Andrew Snare)
Subject: Re: Not to start a language war but..
Message-Id: <m3vhl880fd.fsf@taita.pigpond.com>
>>>>> "Matt" == Matt Knecht <hex@voicenet.com> writes:
Matt> Because sometimes it's better to write:
Matt> if ($x) { y() }
Matt> Than
Matt> if ($x) { y(); }
Matt> Other numerous examples abound. It's nice to have the choice.
Matt> Of course, I'd most likely write that as:
Matt> y() if $x;
Matt> The nice part is, I'm free to choose what fits best in
Matt> whatever I'm working on at the moment.
Not wanting to nit-pick, but python is the same in this respect. I can
write:
if x: y()
Or:
if x:
y()
Usually you don't use indentation in the conventional sense when
you've only got a single statement for the code-block -- hence
python's syntax doesn't lose you anything really. I'm also surprised
that perl didn't go with the convenience of leaving the braces out
altogether when it's only a single statement (like C), but that's a
personal thing. :)
- Andrew
--
#!/usr/bin/env python
print(lambda s:s+"("+`s`+")")\
('#!/usr/bin/env python\012print(lambda s:s+"("+`s`+")")\\\012')
print(lambda x:x%`x`)('print(lambda x:x%%`x`)(%s)')
------------------------------
Date: 26 Oct 1998 14:33:23 +1100
From: ajs@pigpond.com (Andrew Snare)
Subject: Re: Not to start a language war but..
Message-Id: <m3r9vw80ak.fsf@taita.pigpond.com>
>>>>> "Abigail" == Abigail <abigail@fnx.com> writes:
Abigail> A fair number of my statements are much longer than a
Abigail> line. I would hate to have an end of line count as a end of
Abigail> statement.
The end of line doesn't always count as an end of statement in
python. Usually you can quite happily continue the statement across
multiple lines. In the few situations where it doesn't work, a \ can
be used to force line continuation.
- Andrew, when do we start on terminator vs separator? :)
--
#!/usr/bin/env python
print(lambda s:s+"("+`s`+")")\
('#!/usr/bin/env python\012print(lambda s:s+"("+`s`+")")\\\012')
print(lambda x:x%`x`)('print(lambda x:x%%`x`)(%s)')
------------------------------
Date: 26 Oct 1998 03:35:50 GMT
From: Dan Sugalski <sugalskd@netserve.ous.edu>
Subject: Re: Not to start a language war but..
Message-Id: <710qmm$e9l$2@news.NERO.NET>
In comp.lang.perl.misc James Logajan <JamesL@Lugoj.Com> wrote:
: Tom Christiansen wrote:
:>
:> [courtesy cc of this posting sent to cited author via email]
:>
:> In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
:> :The more $@%{}/* -> => symbols, the better. Who cares
:> :if the result is an unreadable code?
:>
:> This was a lie yesterday. It is a lie today. It shall be a lie tomorrow.
: Mike Orr's post appeared to me to be an otherwise well considered piece
: that attempted to answer the original poster's questions. It appears
: to me that Mr. Christiansen is fixating on a side issue that isn't
: so much a lie as an unsubstantiated claim.
: It should be pointed out that Tom Christiansen has a vested financial
: interest in promoting Perl, as he is a co-author of at least 5 Perl
: books: Learning Perl, Programming Perl, Programming Perl on Win32,
: Perl Cookbook, and Programming Perl (Nutshell Handbook). Therefore
: one should scrutinize his arguments most carefully before accepting
: them.
You haven't hung around here much, have you? I've met Tom, dealt with him
on a few things, and read quite a number of his posts to this newsgroup.
Whle I have an enourmous respect for him, accusing him of bias for
financial reasons is a lot like accusing The Prez of celibacy. Tom's many
things--loud, outspoken, opinionated, talented, abrasive, competent, and
more deserving of the label 'curmudgeon' than anyone I know of other than
Harlan Ellison (and I mean that in the nicest possible way, Tom :)--but
biased by money is *not* one of them.
Tom has, in fact, likley driven more people *away* from perl with his
contempt for the clueless than anyone else on the planet.
I think you need to find another cheap shot here. This one missed.
Dan
------------------------------
Date: Sun, 25 Oct 1998 23:25:04 -0500
From: rjk@coos.dartmouth.edu (Ronald J Kimball)
Subject: Re: Not to start a language war but..
Message-Id: <1dhh823.1ghw9rre8b8aoN@bay1-115.quincy.ziplink.net>
Tom Christiansen <tchrist@mox.perl.com> wrote:
> It's not really that big a deal, but the constant repeating of this lie
> that increased context makes understanding worse is simply ridiculous.
> And yes, it is a factual error, not merely an opinion. We aren't
> talking about a moral thing here. We're talking about how people
> grasp information.
Ah, but no one said that increased context makes understanding worse.
(In fact, I guess you could say that the implication that someone did is
a lie. It was a lie yesterday. It is a lie today. It shall be a lie
tomorrow.)
What Mike Orr said was that more *symbols* ($@%{}/* -> =>) make code
unreadable.
Earlier in your message, you stated:
> Think of Perl's variable naming as a variant on Hungarian notation.
> Instead of saying s_string, a_list, h_table, we just say $string,
> @list, and %table. In both cases, the typing information is right
> there in front of you. Extra context helps in reading.
Yes, the typing information is there in both cases. But it seems
obvious to me that someone could find the former more readable than the
latter. In particular, the former uses intuitive initals - s for
string, a for array, h for hash table - whereas the latter uses
nonintuitive symbols - why do $, @, and % necessarily map to string,
list, and table?
Why is it that every time someone posts an opinion which you do not
share, instead of politely expressing your disagreement, you insist on
responding by calling it a lie? Is it too much to expect you to
acknowledge that everyone shares your particular view of programming?
But, as you said, "I realize I won't get you to cease and desist, but
this wicked repetition is empty propaganda based upon a gross
misunderstanding that has been exaggerated and repeated to no end."
Same to you, buddy.
--
_ / ' _ / - aka - rjk@coos.dartmouth.edu
( /)//)//)(//)/( Ronald J Kimball chipmunk@m-net.arbornet.org
/ http://www.ziplink.net/~rjk/
"It's funny 'cause it's true ... and vice versa."
------------------------------
Date: 26 Oct 1998 05:13:09 GMT
From: dformosa@zeta.org.au (David Formosa)
Subject: Re: Not to start a language war but..
Message-Id: <slrn738175.mls.dformosa@godzilla.zeta.org.au>
In article <1dhh823.1ghw9rre8b8aoN@bay1-115.quincy.ziplink.net>, Ronald J
Kimball wrote:
[...]
> In particular, the former uses intuitive initals - s for
>string, a for array, h for hash table - whereas the latter uses
>nonintuitive symbols - why do $, @, and % necessarily map to string,
>list, and table?
$calar, @rray and % is the mod operation wich is the most primitive possable
hash algorythum.
--
Please excuse my spelling as I suffer from agraphia. See the URL in my
header to find out more.
------------------------------
Date: 26 Oct 1998 08:31:40 +0100
From: cg@bofh.cdg.acriter.nl (Cees de Groot)
Subject: Re: Not to start a language war but..
Message-Id: <7118gs$b52$1@bofh.cdg.acriter.nl>
Justin B. Harvey <jbharvey@auspex.net> said:
>What do you mean it's hard to modify someone else's code? Works for
>me...
>
Well, the modification bit is quite easy and in my case mostly the same
in most language: 'vi <something>' and then a lot of keybaord-hammering ;-)
What makes it hard especially in Perl's case is the visual clutter, the
whole load of syntax you've to wade through, etcetera. In SGMLtools, I had
problems reading my own code after not having touched it for half a year
or so, let alone the pieces that people contributed. Incidentally, it looks
like in the 2 months that SGMLtools has been done in Python, contributions
have come to a respectable level comparable to the year-and-a-half that
SGMLtools lived in Perl land (and was included with probably all Linux
distributions).
(but I'm a crappy programmer who's posting lies, so don't pay any attention
to my whining ;-))
--
Cees de Groot http://pobox.com/~cg <cg@pobox.com>
http://www.sgmltools.org <cg@sgmltools.org>
--- We're hiring Java developers => www.acriter.com
------------------------------
Date: 26 Oct 1998 08:18:20 +0100
From: cg@bofh.cdg.acriter.nl (Cees de Groot)
Subject: Re: Not to start a language war but..
Message-Id: <7117ns$b3u$1@bofh.cdg.acriter.nl>
[And this will be my last contribution, but now that everyone's calling
me a crappy programmer... ;-)]
Dan Sugalski <sugalskd@netserve.ous.edu> said:
>Crappy programmers can produce crappy code regardless of the language
>used. In no case did *any* of those languages help someone without a clue.
>Thinking that language choice will make any difference on the quality of
>the resulting code is so wrong it borders on delusional.
>
So now I'm indirectly called a crappy programmer twice just because I don't
like Perl :-).
My issue with Perl: it has a load of visual clutter and after filtering
the visual clutter you're likely to look at some syntax you yourself
aren't using - in order to find out exactly what the thing means you'll
have to wade through the Camel book. It's more-or-less the same thing
with C++, Perl's companion baroque language ;-), and I find it very
improductive. Cleaner languages will give your brain less filtering to
do, so you'll have directer access to the algorithm. And because cleaner
languages only offer a low number of ways to code something (I'm talking
about the block level, not at the higher levels, of course), these pieces
of code will more easily parse into patterns.
[And to Tom C.: if numbers are the issue, let's put up a poll - number
of Perl programmers, number of Python programmers, and most important:
the movement between the languages.]
--
Cees de Groot http://pobox.com/~cg <cg@pobox.com>
http://www.sgmltools.org <cg@sgmltools.org>
--- We're hiring Java developers => www.acriter.com
------------------------------
Date: 26 Oct 1998 07:53:14 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: Not to start a language war but..
Message-Id: <7119pa$ddf$2@client3.news.psi.net>
Andrew Snare (ajs@pigpond.com) wrote on MDCCCLXXXII September MCMXCIII in
<URL:news:m3vhl880fd.fsf@taita.pigpond.com>:
++
++ Usually you don't use indentation in the conventional sense when
++ you've only got a single statement for the code-block -- hence
++ python's syntax doesn't lose you anything really. I'm also surprised
++ that perl didn't go with the convenience of leaving the braces out
++ altogether when it's only a single statement (like C), but that's a
++ personal thing. :)
Having had to debug too much code that was buggy because braces
were omitted, and not added when an extra line was added, I think
Larry made a very wise decision to make braces mandatory.
Can I leave out the indent if I have just one statement in an
if part in Python?
Abigail
--
sub f{sprintf$_[0],$_[1],$_[2]}print f('%c%s',74,f('%c%s',117,f('%c%s',115,f(
'%c%s',116,f('%c%s',32,f('%c%s',97,f('%c%s',0x6e,f('%c%s',111,f('%c%s',116,f(
'%c%s',104,f('%c%s',0x65,f('%c%s',114,f('%c%s',32,f('%c%s',80,f('%c%s',101,f(
'%c%s',114,f('%c%s',0x6c,f('%c%s',32,f('%c%s',0x48,f('%c%s',97,f('%c%s',99,f(
'%c%s',107,f('%c%s',101,f('%c%s',114,f('%c%s',10,)))))))))))))))))))))))))
------------------------------
Date: 26 Oct 1998 00:30:31 +0100
From: Klaus Schilling <Klaus.Schilling@home.ivm.de>
Subject: Re: Not to start a language war but..
Message-Id: <87ww5o8bjc.fsf@ivm.de>
toriw@online.no (Tor Iver Wilhelmsen) writes:
> On 24 Oct 1998 23:35:02 GMT, gebis@fee.ecn.purdue.edu (Michael J
> Gebis) uttered:
>
> >One word: indentation.
I let the GNU emacs indent my code whenever possible.
>
> Funny: I always indent my Perl code as well - I bet a lot of people
> do. Are there any advantages to using braces for delimiting blocks
> other than "'cause C does"?
Cool syntaxes like Scheme's don't need curly braces or indentation for
delimiting blocks, so there's no advantage in using either.
Klaus Schilling
------------------------------
Date: 26 Oct 1998 10:11:28 GMT
From: spam@browser.org (Rob Partington)
Subject: Re: Not to start a language war but..
Message-Id: <slrn738img.e4b.spam@riffraff.plig.net>
On 26 Oct 1998 08:18:20 +0100,
Cees de Groot <cg@bofh.cdg.acriter.nl> wrote:
> My issue with Perl: it has a load of visual clutter and after filtering
So get a syntax highlighting editor like vim, elvis, or emacs?
> --- We're hiring Java developers => www.acriter.com
Not hiring python developers? :-p
--
rob partington personal: <URL: mailto:rob@browser.org >
programmer lynx mail: <URL: mailto:lynx@browser.org >
browser.org lynx hacking: <URL: http://lynx.browser.org/rp/ >
------------------------------
Date: 26 Oct 1998 13:52:20 +0100
From: Jonathan Feinberg <jdf@pobox.com>
To: tchrist@mox.perl.com (Tom Christiansen)
Subject: Re: Not to start a language war but..
Message-Id: <m3sogb32pn.fsf@joshua.panix.com>
Tom Christiansen <tchrist@mox.perl.com> writes:
> Moore context and less ambiguity would seem to me to be a feature.
^^^^^
Evidence that Perlers are Utopians at heart.
--
Jonathan Feinberg jdf@pobox.com Sunny Brooklyn, NY
http://pobox.com/~jdf
------------------------------
Date: Mon, 26 Oct 1998 13:41:44 GMT
From: dturley@pobox.com
Subject: Re: Not to start a language war but..
Message-Id: <711u6o$5mt$1@nnrp1.dejanews.com>
> In comp.lang.perl.misc, James Logajan <JamesL@Lugoj.Com> writes:
> :It should be pointed out that Tom Christiansen has a vested financial
> :interest in promoting Perl, as he is a co-author of at least 5 Perl
> :books: Learning Perl, Programming Perl, Programming Perl on Win32,
> :Perl Cookbook, and Programming Perl (Nutshell Handbook).
>
> :Therefore
> :one should scrutinize his arguments most carefully before accepting
> :them.
So you are sayibg that you should ony accept aguements that something "works"
from someone who doesn't use it?
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Mon, 26 Oct 1998 13:47:32 GMT
From: huntersean@hotmail.com
Subject: Re: Not to start a language war but..
Message-Id: <711uhk$677$1@nnrp1.dejanews.com>
In article <70v3dk$4mi$1@bofh.cdg.acriter.nl>,
cg@pobox.com wrote:
> Tom Christiansen <tchrist@mox.perl.com> said:
> >In comp.lang.perl.misc, mso@eve.speakeasy.org (Mike Orr) writes:
> >:The more $@%{}/* -> => symbols, the better. Who cares
> >:if the result is an unreadable code?
> >
> >This was a lie yesterday. It is a lie today. It shall be a lie tomorrow.
>
> Well, it was the reason I moved from Perl to Python for SGMLtools, and
> I'm very happy I've done so. I've tried for 4 years to write R/W code
> in Perl, and then simply gave up (why try when there are alternatives?).
> Perl is effectively a single-user language - no harm with that, but not
> suited for the numerous occasions when you need to modify someone else's
> code.
I'm going to stick my neck out here and say that you don't know your arse
from your elbow. More specifically, I have five years of writing R/W perl
and maintaining other people's perl code which says your are wrong.
Sean Hunter
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Mon, 26 Oct 1998 14:06:27 GMT
From: "Andrew M. Kuchling" <akuchlin@cnri.reston.va.us>
Subject: Re: Not to start a language war but..
Message-Id: <13876.32186.336772.838048@amarok.cnri.reston.va.us>
Jonathan Feinberg writes:
>Tom Christiansen <tchrist@mox.perl.com> writes:
>> Moore context and less ambiguity would seem to me to be a feature.
> ^^^^^
>Evidence that Perlers are Utopians at heart.
Actually _Utopia_ was written by Sir Thomas More, not 'Moore'.
See Peter Ackroyd's fine biography _The Life of Thomas More_, which
has just been released in the US, though it's been out in Canada and
the UK for some months. Also see
http://www.boldtype.com/1098/ackroyd/interview.html for an interview
with Ackroyd about the book.
While reading it, I occasionally had to go back and re-parse a
sentence like "More often would go...", assuming on the second parse
that the first word was a noun. (This is completely unconnected to the
rest of this thread, but it's far more interesting. Anyone else ever
read a biography, or known anyone who has?)
The More book was definitely more enjoyable for me than
Ackroyd's biography of William Blake was, but Ackroyd's _Dickens_ is
by far the best biography I've ever read, and among the best books
that I've ever read, period.
ObPython: Oh, I don't know. sys.stdout.readline, or something.
--
A.M. Kuchling http://starship.skyport.net/crew/amk/
Cities do not change over the centuries. They represent the aspirations of
particular men and women to lead a common life; as a result their atmosphere,
their tone, remain the same. Those people whose relations are founded
principally upon commerce and upon the ferocious claims of domestic privacy
will construct a city as dark and as ugly as London was. And is. Those people
who wish to lead agreeable lives, and in constant intercourse with one
another, will build a city as beautiful and as elegant as Paris.
-- Peter Ackroyd, _Dickens_ (1990)
------------------------------
Date: Mon, 26 Oct 1998 14:08:12 GMT
From: huntersean@hotmail.com
Subject: Re: Not to start a language war but..
Message-Id: <711voc$7gq$1@nnrp1.dejanews.com>
In article <7117ns$b3u$1@bofh.cdg.acriter.nl>,
cg@pobox.com wrote:
> [And to Tom C.: if numbers are the issue, let's put up a poll - number
> of Perl programmers, number of Python programmers, and most important:
> the movement between the languages.]
Todays perl jobs on www.jobserve.com: 248
Todays python jobs on www.jobserve.com: 0
Sean Hunter
P.S. I have a financial interest in C++, C, and perl (I am a professional).
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Mon, 26 Oct 1998 14:53:19 -0000
From: "Paul Makepeace" <Paul.Makepeace@POBox.com>
Subject: Re: Not to start a language war but..
Message-Id: <7128dn$50o$1@statler.server.colt.net>
Andrew Snare wrote in message ...
>I'm also surprised
>that perl didn't go with the convenience of leaving the braces out
>altogether when it's only a single statement (like C), but that's a
>personal thing. :)
That 'feature' of C is probably one of its most evil. It's far too easy to
abuse or have it bite back when you (or worse) some else isn't paying
attention.
Paul.
------------------------------
Date: 12 Jul 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Special: Digest Administrivia (Last modified: 12 Mar 98)
Message-Id: <null>
Administrivia:
Special notice: in a few days, the new group comp.lang.perl.moderated
should be formed. I would rather not support two different groups, and I
know of no other plans to create a digested moderated group. This leaves
me with two options: 1) keep on with this group 2) change to the
moderated one.
If you have opinions on this, send them to
perl-users-request@ruby.oce.orst.edu.
The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc. For subscription or unsubscription requests, send
the single line:
subscribe perl-users
or:
unsubscribe perl-users
to almanac@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V8 Issue 4070
**************************************