Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
use Perl Launched

By rusty in News
Wed Apr 19, 2000 at 01:53:02 PM EST
Tags: Software (all tags)
Software

Browsing through some Advogato diaries, I noticed that pudge, of slash-hacking fame, has launched a slash site for discussion of perl, called use Perl. This is good news for those of us who already love perl, since now there's a good web resource for asking general questions and discussing good hacks. It's probably also good news for those of you who *don't* love perl, since now we can go away and leave you alone. :-)


Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Related Links
o Advogato
o pudge
o use Perl
o Also by rusty


Display: Sort:
use Perl Launched | 13 comments (13 topical, editorial, 0 hidden)
I hate perl. I agree with the late... (none / 0) (#1)
by fluffy grue on Wed Apr 19, 2000 at 12:55:47 PM EST

fluffy grue voted 1 on this story.

I hate perl. I agree with the late, great Richard Stevens - it's a write-only language. It's also got a lot of features which just plain IRK me from a language-design point of view; it seems more like a toy language than something which should be in as much use as it is. All of the pundits' justifications for using perl seem more like bad rationalizations (like, since when is being able to modify the code and have it immediately show up on a production website a GOOD thing?).

So now there's a nice little hovel for all you zealots to keep to yourselves in, and you don't have to bug me about how wonderful a language it is. :)
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]

QFL (Quote from Larry) (none / 0) (#4)
by rusty on Wed Apr 19, 2000 at 01:59:38 PM EST

On the quotes page over there:
Just don't compare it with a real language, or you'll be unhappy...  :-)
            --Larry Wall in <1992May12.190238.5667@netlabs.com>
I think that about sums it up. :-)

____
Not the real rusty
[ Parent ]
Re: QFL (Quote from Larry) (none / 0) (#5)
by fluffy grue on Wed Apr 19, 2000 at 02:12:50 PM EST

Ah, so he does realize it's just a very useful toy. Okay, that's renewed my respect for Wall. (I respected him a bunch for being able to hack up a very natural-language-like programming language, which are mindsets which are normally very diametrically opposed, but I hated him for unleashing a toy language onto production environments around the world.)
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Re: QFL (Quote from Larry) (none / 0) (#6)
by rusty on Wed Apr 19, 2000 at 02:23:15 PM EST

Whatever you might think of his creation, Larry Wall is an incredible person. I bet you've read them, fluffy, but for anyone who hasn't, his State of the Onion speeches are just fantastic reading.

____
Not the real rusty
[ Parent ]
Re: QFL (Quote from Larry) (none / 0) (#9)
by fluffy grue on Wed Apr 19, 2000 at 05:10:01 PM EST

Oh, yeah, I've always respected him as a person. I've only read a few of his State of the Onion addresses, but they're thoroughly entertaining. It's just that lately he's seemed a bit intent on Perl being seen as a real language, which kind of backpedals on that nice 1992 quote you brought up. Though honestly, it's not Larry Wall I dislike so much as the attitude of PERL zealots.

Again, I admire his ability to form a natural-language programming language. Generally, hacking ability means having little natural-language ability (from a high-level standpoint, that is - which is exactly the problem, since natural languages are very low-level, something which I have a hard time grokking), and being able to create a programming language is a completely different mindset than creating a natural language. As a proof-of-concept, an imperative natural language, PERL is very cool. However, there are better languages for doing real-world applications than something which is interpreted (yes, I know the interpreter byte-compiles it, it's still interpreted), typeless, and treats data as code and vice-versa (yes, that's cool from a theoretical standpoint, but from a security standpoint it's a big no-no). PERL is a very cool language from an intellectual and academic standpoint, but IMO it's been woefully misapplied to the wrong purposes, such as getting real work done. (PERL zealots: yes, you may point out that Scoop, Slash, and many e-commerce engines are written in PERL, and then I'll happily point out that all the real work is done in SQL.)

Of course, this isn't meant to cast aspersions on Larry Wall. He's kind of the anti-Hofstadter (I just can't imagine Douglas "Recursion: Find the nearest dictionary in the direction of Douglas Hofstadter and see Recursion" Hofstadter using global variables, period) in a very admirable way. And I know I'm visibly pandering right now, so I'll stop. :)
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Jihad II (1.00 / 1) (#10)
by henrik on Wed Apr 19, 2000 at 06:42:04 PM EST

Yay! A language war, can i join in? :)

-henrik

Akademiska Intresseklubben antecknar!
[ Parent ]

Re: QFL (Quote from Larry) (none / 0) (#11)
by rusty on Wed Apr 19, 2000 at 06:56:47 PM EST

It's true that most of the work is doen in SQL. That's what perl is good at, gluing a web frontend to an SQL DB. Basically all scoop is is a pretty DB frontend, when you think about it.

And many of us also cringe in horror at globval vars. :-)

____
Not the real rusty
[ Parent ]

Re: in defense of perl (none / 0) (#12)
by orabidoo on Thu Apr 20, 2000 at 05:31:57 AM EST

However, there are better languages for doing real-world applications than something which is interpreted (yes, I know the interpreter byte-compiles it, it's still interpreted), typeless, and treats data as code and vice-versa (yes, that's cool from a theoretical standpoint, but from a security standpoint it's a big no-no).
let's go through these alleged defects one by one:
  • interpreted, byte-compiled: this is standard fare with scripting languages; perl does it, python does it, javascript does it, hell, even java does it. it's silly to dismiss scripting; I see it as one of the great practical breakthroughs of recent programming: the realization that hyper-dynamic semi-compiled languages, slow as they are compared to C or C++, give you enormous savings in development time, and that in many cases it's enough to rewrite the core processing bottlenecks only in a lower level language. Perl has an extensive interface for this (XS), and many standard modules that do things you might want done, in XS.
  • typeless: not really; there are three main kinds of 'things' in perl: scalars, arrays and hashes. I assume that what bothers you is that 'scalars' (strings, floats and integers) are lumpeded together in a single type, with on-the-fly runtime conversions wherever necessary. I've never found it much of a problem, myself.. I tend to use each variable for one or the other, only. I for one like the flexibility that explicit references give me; it's like having pointers without the mallocs and the segfaults.
  • treats data as code and vice-versa: what are you referring to? the only way to evaluate data as code in perl is 'eval', that I know of. and the only way to treat code as data is to take a reference to a function (anonymous or named), which doesn't strike me as a security problem at all. besides, perl implements explicit data security (with tainting) and compartmentized code security (with the Safe module) if you really need them
  • global variables: you don't like them, neither do I; just 'use strict'. not that there's anything wrong with globals within classes, for global class data, is there?
now, as a habitual perl programmer (and yes, I like it), I do find some defects in it: in retrospect I think that the whole wantarray thing should never have existed, ie. functions shouldn't return different things depending on what's around the call to them. and filehandles/dirhandles are a mess, and the special-character variables like $^W are ugly as hell, and that the iterator variable in things like 'map' and 'grep' should have been named as in Ruby, instead of $_. but these things show up rarely in good perl code anyway, except for the implicit $_s which so local that it's not a real problem, only an aesthetic one :)

what I like most about perl is how expressive it is; what other language lets you uniquefy an array of pointers with a single expression like @a = values %{ { map { int($_) => $_ } @a } }; ? and no, I don't consider that write-only.

[ Parent ]

Re: in defense of perl (none / 0) (#13)
by fluffy grue on Thu Apr 20, 2000 at 02:58:26 PM EST

What do you mean by "uniquefy"? I'm sure I could do the same thing in a relatively elegant (not one-line, but at least it'd be readable) means in C++.

As far as the scripting vs. compilation debate, I don't find anything wrong with scripts for doing simple tasks. However, on a production server in a production environment when efficiency matters, the increased speed of compiled code is useful. My main gripe with scripted programs isn't the fact they're scripted, though, but the fact that PERL zealots always point out that you can change the code on-the-fly without any recompilation. I don't see that as a good thing, since if you make a syntax error (or, worse yet, a semantic error), then Really Bad Things can happen, from downtime to data corruption or worse.

With the 'code as data' thing, I was under the impression that PERL had a construct much like *sh's ` delimiter, which can lead to unintended side effects. If I was mistaken, then I apologize.
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Metacomment: Saw this last week; he... (none / 0) (#2)
by eann on Wed Apr 19, 2000 at 01:14:44 PM EST

eann voted 1 on this story.

Metacomment: Saw this last week; he took some stylistic criticism on the Boston.pm mailing list, but seems to have weathered it okay. I guess I need to train myself to watch for these things and post them here, too. :)

Metacomet: a mountain in northern Connecticut

Our scientific power has outrun our spiritual power. We have guided missiles and misguided men. —MLK

$email =~ s/0/o/; # The K5 cabal is out to get you.


I use Perl because it's there. But... (none / 0) (#3)
by marlowe on Wed Apr 19, 2000 at 01:19:57 PM EST

marlowe voted 0 on this story.

I use Perl because it's there. But I'm not in love or anything.
-- The Americans are the Jews of the 21st century. Only we won't go as quietly to the gas chambers. --

What about perlmonks? (none / 0) (#7)
by Anonymous Hero on Wed Apr 19, 2000 at 03:43:54 PM EST

I'm not up on the Perl world, but how does this site relate to perlmonks (another slash-based perl site, run by blockstackers)?

evro@work

Re: What about perlmonks? (none / 0) (#8)
by rusty on Wed Apr 19, 2000 at 04:39:49 PM EST

Perlmonks is actually based on the Everything code, I believe. I don't know why they're doing multiple instances of what is essentially the same site, but.... whatever. :-)

____
Not the real rusty
[ Parent ]
use Perl Launched | 13 comments (13 topical, 0 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!