Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

cancel ×

75 comments

Re:PERL vs PHP (1)

/dev/niall (1043) | more than 15 years ago | (#1871550)

It's available on every platform, it's as easy or hard to use as you want to make it, and there are literally hundreds of different ways to accomplish a task - all of them as "valid" as the next.
It also smells great!

Re:The problem with Perl. (1)

pudge (3605) | more than 15 years ago | (#1871551)

# Nevertheless, Perl blows

Huh huh, OK Beavis.


# and I think its design philosophy is why, rather than some
# implementation detail or other accident. It was interesting to see what
# kind of language we would end up with with the design principle of no
# design principles. Well, the language we ended up with is one that I
# find egregiously bad.

But there were and are design principles. I imagine you know this, though.


# Obviously I was stating my opinion, not trying to offer a proof of why
# Perl is bad.

It was not obvious. Usually, in my experience, when intelligent people express their opinions publicly, they try to offer some reason why others should agree. I am not insinuating you are unintelligent, but the opposite: I assumed that because you are intelligent, you were trying to offer some evidence of why Perl is "bad". I assumed incorrectly. I won't do so again.


# The ``X'' that Perl is is ``sucky.'' I hold that truth to be
# self-evident.

Nonsense. That all men are created equal and are endowed by their Creator with cretain unalienable rights can be said to be self-evident (and in fact, I believe it was). That Perl is "sucky" is not. Are you kidding here, or are you trying to hurt your argument^Wopinion?


# But don't confuse the act of giving the programmer freedom of
# expression, and the act of giving the programmer a simple, consistent,
# easy-to-undertand tool. You can do both.

I don't find consistency to be that important, or simplicity. Some of our more complex and inconsitent tools are our most powerful. Like Unix itself. Then again, you probably don't like Unix.

Regardless, Perl is pretty simple. It is also very complex. It is what you want. Babies can speak English, and yet it is rich enough for the most complex expression of ideas.


# Just because a tool is a simple
# and easy-to-understand device (like a lever, or rope) doesn't mean it
# restricts the artistic expression of those using it. Help, help, I'm
# being oppressed!

No, but a canvas and paint offers more room for expression than a rope does. That's why the Louvre has ropes protecting the paintings and not vice versa.


# I consider simplicity, consistency, and orthogonality to be good things
# in a tool. I think that when you want to provide a tool to solve a
# problem, you should think the problem through, and cover all the
# permutations. Figure out what's needed, and do it in a simple way.
# That's not the Perl approach. The perl approach is much more haphazzard
# than that, and usually involves a new line-noise syntax and some regular
# expressions.

If you are talking about the approach of some Perl programmers, that's true. If you are talking about the approach of the developers of perl, that's false.


# Perl most assuredly does encourage a particular programming style. It
# does this by the shortcuts it provides. Perl encourages you to think
# about everything as text manipulation, when (news flash!) most things
# aren't. It encourages use of regular expressions, even when they would
# be inappropriate (which, news flash, is almost all the time.) It doesn't
# force you, no, but it makes one path easy and the other path hard, and
# that's all it takes.

Perl does not encourage bad programming, it attracts bad programmers (and good ones, too). The language cannot be reasonably faulted for allowing bad programmers to program badly with ease. You are wrong to say that regexes are easier than other methods.

And, sure, bit manipulation in Perl is not the easiest (though if you understand bits, it isn't exactly difficult, either). But substr and rindex and index and split are very simple functions to use. I daresay they are significantly easier to use than regexes. The problem with people using regexes when they shouldn't is not technical or linguistic but social. People are incorrectly taught, one way or another, to use regexes when they don't belong. Again, you're talking about bad programmers. They are bad in any language. I'd rather have bad programmers using Perl regexes inappropriately than using C pointers inappropriately.


# Furthermore, ``There's more than one way to do it'' is not a virtue in a
# multiple programmer environment. When someone else is going to see your
# code (and unless you're doing an art project all on your own, someone
# will) your responsibility as a programmer is not only to make the
# program work, but also make it maintainable.

You have not demonstrated that TMTOWTDI is the enemy of maintainability. Maybe it is just your opinion, but unless you are going to back it up, don't expect anyone to care what your opinion is.

Yep (0)

Anonymous Coward | more than 15 years ago | (#1871552)

As someone who got a degree in Literary Theory (BA, and MA), you're absolutely orrect, and so is Sokal.

I knew I was in a scary field when my graduate advisor said "the future is a scary thing" and he MEANT it!

However, fear of science really isn't the motivating factor in most of the pseudo-scientific gibberish you see lit folks spouting -- it's JEALOUSY of science. They think that, by repeating the phrases of science, they somehow imbue themselves with the aura of Science, and therefore Real Knowledge.

After all, these are folks who seriously believe in the power of Words, and frequently seem to hold that saying something is the same as DOING something.

Consequently, saying the words that scientists use is, to their mind, logically the same as being scientists themselves. They envy the respect that Hard Science gets, and want to get it for themselves.

Instead, they just look stupid.

. . . but really, I'm not bitter. I promise.

Postmodern? Come on... (2)

mikec (7785) | more than 15 years ago | (#1871553)

I use Perl a lot, and have a lot of respect for Larry Wall, Tom Christiansen, et. al. But Larry's comments about Perl being the first "postmodern" language are silly.

The Perl motto is cute, but it implictly sets up a strawman, because no language I can think of says "There's Only One Way To Do It." All languages, including Perl, put some restrictions on the programmer. That's pretty much what the word "language" means. Yes, in Python, you have to use whitespace as syntax. Oh, but in Perl you can't use whitespace as syntax. There may be more than one way to do it in Perl, but that ain't one of them. Yes, in Lisp you have to use parentheses. Oh, but in Perl you have to use "$", "@", and "%" to start names. Unpunctuated names aren't an option! There's only one way to do it!

Sorry for venting, but I get a little tired of the posturing in the Perl camp. They try to sell the language by implying that other languages are uncool, which is itself very uncool: "many programmers are still slaves of the cyber police." Give me a break.

Re:PERL vs PHP (1)

Tom Christiansen (54829) | more than 15 years ago | (#1871554)

[PHP] was easier and faster than Perl for CGI stuff.
If you haven't used the standard CGI.pm, you're missing out on some of the easy part, and if you haven't used mod_perl [modperl.com] , then you're missing out on some of the fast part. :-)

--tom

Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

garyrich (30652) | more than 15 years ago | (#1871555)

Perl seems to my mind to actually
help readability in many ways. the
fact that you can tell at a glance
that $array is a scalar variable and
@variable is an array
is (again depite the name) and array
is easy.

I do write a lot more Perl than I have
to read but I've been told by those
who have to maintain my old code that
they can tell what is going on and modify
it when they need to. It's
the only language that I trip across
old embarrasing code of mine in on the
net that sucks rocks, but it does still
work.

The "write only" aspect of Perl can be seductive
though. At the moment I'm writing piles
of code for the pharmaceutical biz and I
try really hard to write in "baby talk" so that
if I get hit by a meteor any random hacker
with a smattering of perl can pick it up
and run with it, but.. jeez. I could compress
that 200 line program down to into something
that would fit in a .sig block and then all the
grrls would think I was k3wl... but that's the
Dark Side.

garyr

Larry Wall is Cool (3)

Elias Ross (1260) | more than 15 years ago | (#1871556)

I think the geek and coder community needs to make a calendar of all the heros of open source, open standards, the internet, etc. Larry Wall would have to be, Mr. June or July or something.

We could have Larry, Linus, the Samba Team, etc. A new face every month. And a couple good quotes to go along with them...

In C++, the user is always wrong! (1)

cpeterso (19082) | more than 15 years ago | (#1871557)

I just finished reading Scott Meyers' "Effective C++" and "More Effective C++". I can assure you that the C++ user is always wrong! ;-) C++ is far too complex for mere mortals to grok. No surprise that so much "modern" software sucks!

(If you do program in C++, I highly recommend you read Scott Meyers' C++ books. They are indispensable.)



Re:Python and Orwell (1)

AMK (3114) | more than 15 years ago | (#1871558)

(Since when is Eiffel a scripting language? Tsk, tsk, MJR...)

I was more surprised to see Wall focus on the rather minor feature of whitespace; syntax is only part of design philosophy, and Python's primary feature isn't its use of whitespace, any more than Algol-68's primary feature was its introduction of the "fi" keyword. Instead, Python's primary idea is really namespaces. Modules are namespaces. Classes are a bunch of namespaces with rules on how to look through them, and instances are namespaces on top of classes. It's noteworthy that Python's object model could be mapped to Perl fairly straightforwardly, influencing Perl 5's OO features.

Re:Python and Orwell (1)

toriver (11308) | more than 15 years ago | (#1871559)

However, I think LW's point comes down to the sheer pointlessness of the whitespace construction in Python, almost syntax for syntax's sake.

Rather, it's a consequence of the observation that people indent their programs anyway, even though in the languages which use various symbols for marking "blocks" (whether {/}, begin/end, if/fi/do/done, ...) don't require it. You could say Python enforces the readability people normally would add to their code.

(The only reasonable argument against it, IMHO, is that it makes looking for "block end" slightly more difficult than to look for '}'.)

Python and Orwell (0)

Anonymous Coward | more than 15 years ago | (#1871560)

The following question and answer really make
Mr. Wall seem foolish. Whitespace in Python == A boot coming down in the face of mankind, forever?!



Marjorie: In what way is Perl better than other scripting languages such as Python and Eiffel?

Larry: Perl is unique, not just among scripting languages, but among computer languages in general. It's the only computer language consciously and explicitly
designed to be postmodern. All other computer languages are still stuck in the modern era to some degree. Now, as it happens, I don't normally use the term
``postmodern'' to describe Perl, because most people don't really understand postmodernism, even as they embrace it. But the fact is that American culture has
become thoroughly postmodern, not just in music and literature, but also in fashion, architecture and in overall multicultural awareness.

Modernism was based on a kind of arrogance, a set of monocultural blinders that elevated originality above all else, and led designers to believe that if they
thought of something cool, it must be considered universally cool. That is, if something's worth doing, it's worth driving into the ground to the exclusion of all other
approaches. Look at the use of parentheses in Lisp or the use of white space as syntax in Python. Or the mandatory use of objects in many languages, including
Java. All of these are ways of taking freedom away from the end user ``for their own good''. They're just versions of Orwell's Newspeak, in which it's impossible
to think bad thoughts. We escaped from the fashion police in the 1970s, but many programmers are still slaves of the cyber police.

In contrast, postmodernism allows for cultural and personal context in the interpretation of any work of art. How you dress is your business. It's the origin of the
Perl slogan: ``There's More Than One Way To Do It!'' The reason Perl gives you more than one way to do anything is this: I truly believe computer programmers
want to be creative, and they may have many different reasons for wanting to write code a particular way. What you choose to optimize for is your concern, not
mine. I just supply the paint--you paint the picture.

Re:PERL vs PHP (1)

warmi (13527) | more than 15 years ago | (#1871561)

I work with C /C++ ( used to be ASM on various platforms) and anytime I look at something written in PERL it just makes me sick. It is quite possible that this language is perfect but its syntax seem to be designed to scare off people. It sort of resembles to me output generated by encrypting software ...

Perl Rules. (2)

Anonymous Coward | more than 15 years ago | (#1871562)

Perl is the reason i started using *NIX, i switched from ASP/NT to Perl on Linux/BSD, and i have never ever, not even once, looked back.

Once you get over the initial confusion of what all those wierd slashes mean, Visual Basic starts to look like a bad joke, at least for CGI programming.

Larry Wall, while i have never met him, and while he may have a nasty habit of making religious references all the time, is, in my opinion, a damn good guy, who has given me the most useful software tool i ever came across.

-Pete

success despite quirks (2)

jetson123 (13128) | more than 15 years ago | (#1871563)

I have used Perl nearly since its earliest public releases and have written a lot of code in it. I still use it as my main scripting language. I've written database management tools, pattern recognition tools, experimental design tools, and lots of CGI stuff in it (including a bug tracker).

Perl is a very useful tool, and when it came out it was a big improvement over awk/sed/sh, and it was free to boot. That's why it succeeded. Nowadays, most people simply use it because it's there (among other things, it's the only CGI language my ISP offers).

But far from being an advantage, Perl's haphazard error checking and "postmodern" syntax do cause problems in practice. For example, one of the big government projects Larry mentions lost a lot of data because Perl did not flag bad numerical input as an error but simply uses 0 by default (a design flaw that has since been partially corrected through addition of "-w"). And even the Perl system itself has problems with its syntax--there are many circumstances where Perl compiler or runtime error messages are way off.

The lesson I hope budding language designers will take away from Perl is that providing useful functionality in a timely manner and a free package is more important for success than clean design or robustness. But within the constraints of time to market, one should still strive for clean, robust designs, or one should at least aim to fix things up later. To Perl's credit, many of the initial design problems have been fixed.

And while Larry seems to think languages like Lisp and Python were designed by some CS types for thought control, reality is that, for example, Lisp evolved over nearly 40 years to meet the needs of its user community (and, in a twist of irony, Perl's syntax itself has followed a little bit of the same trajectory already; let's see where it ends up in another 30 years).

To me, Perl succeeded despite its quirks and problems, not because of them.

Regular expressions!!! (1)

tomblackwell (6196) | more than 15 years ago | (#1871564)

The cool thing that gets everybody all charged up about Perl (at least the people I've shown it to) is regular expressions. The ability to say "hey, give me every line that has 5 entries, separated by spaces, with the 2nd entry containing either 3 letters or starting with a letter that isn't in this list" seems impressive to people who've only coded in C. It's like showing a hammer to people who've lived their lives driving nails with a pair of vice grips. A cool tool for a particular set of problems, and a decent one for lots of others. One big problem with Perl is that you may return to your code and find it utterly unreadable.

Re:Perl for the Palm? (1)

Ian the Terrible (11944) | more than 15 years ago | (#1871565)

Given that the Palm is far better at displaying text than graphics, I'd say Perl would be a natural for it.

Except that writing code with Graffiti would sort of suck.

Re:PERL vs PHP (1)

Drunken Philosopher (46289) | more than 15 years ago | (#1871566)

PHP3 is highly specialized to do Web pages. Perl is generically well suited for doing many things, including Web pages. Therefore, Perl is a more useful language than PHP3, in general. The fact that "database-driven Web sites" is an emerging technology leads us to believe that there is no date of obsolescence; however, I believe we just don't see it yet. To quote from the article:
We've already seen the deaths of many over-specialized organisms in computing: Lisp machines, Ada chips and many so-called fourth generation languages. Any program ever written in assembly language for an obsolete architecture is now obsolete. Likewise, any program that ties its fortunes to a single operating system is likely to go down with the ship.
Personally, I'm a big fan of ColdFusion (similar to PHP3), and currently make my living writing ColdFusion-based intra/extranets for organizations that still use NT, but I believe (as Larry seems to) that anything that can't or doesn't adapt will become obsolete (hence my Linux/PHP play-box at home.) Before getting too religious about any software or platform, remember: this rule of obsolescence applies to people as well as software.

you misunderstand Python's indentation (2)

jetson123 (13128) | more than 15 years ago | (#1871567)

Python doesn't force you to indent any particular amount, and it doesn't force you to indent the same amount everywhere. All it requires is that your indentation structure reflects your block structure. It appears that most people pay more attention to indentation than to syntax (consider the classic nested if/else-with-incorrect-indentation example), so arguably this is a good thing.

Re:Python and Orwell (2)

Fizgig (16368) | more than 15 years ago | (#1871568)

Yeah, I was wondering about that. I don't know Perl, so I can't really comment, but it struck me (as an outsider, though I do know some Python) that his earlier comment about requiring extra punctuation (is it a $?) for variables making CS people mad is exactly the same thing as Python's whitespace. But it's just an example, I suppose. He's trying to say it's postmodern. I don't quite get that, but what the hey! If Python's only limitation is that your code can't look like modern art, I can deal with it.

Re:PERL vs PHP (1)

jcounts (1898) | more than 15 years ago | (#1871569)

I was very excited about PHP when I first came across it. It was easier and faster then Perl for CGI stuff. But then I kept coming to spots where I really needed a function or language contruct that PHP just didn't have. In the end I went back tp Perl full time. it's a much more full-featured and mature language. I'm still watching PHP development closely though and may use it for other projects in the future.

Re:Fundamentalist Christian (0)

Anonymous Coward | more than 15 years ago | (#1871570)

Time to break out the Jack Chick comic books!

Perl - Poor Excuse for a Real Language (2)

chris.bitmead (24598) | more than 15 years ago | (#1871571)

Larry is a cool guy, but I really hate perl. Despite that I find myself using it - mostly because there is a perl module that talks to everything.

But perl makes for buggy code. Languages like Eiffel have endeavoured to make coding more rigourous. And the power, conciseness and structured way of thinking of Lisp makes for elegant and thus maintainable code.

But perl it's too easy to write bad code. In some cases it just plain encourages bad code. I think the main reason perl is popular is just because it talks to everything. And it talks to everything because it's popular. It lulls you into a false sense of security. Doing something small in perl is quick. So you start using it. Soon you're doing something big and serious and still using it. And then you're in a bit of a mess.

If perl is post-modern - then give me modern please. The purity of careful thinking really is better than a hap-hazard, do it in hundreds of different ways thinking.

I try to use Scheme and Guile whenever I can. I think it can do as good or better job for everything (I'm not a post-modern thinker). But to do everything better it needs to have as many modules as Perl. It's got quite a few, but not as many as perl yet. So that's why I use perl.

Re:Fundamentalist Christian (1)

skizz (9994) | more than 15 years ago | (#1871572)

Yeah! One of my favourite sites! Check out The Trick! Wild!

http://www.chick.com/catalog/tractlist.a sp [chick.com]

Larry the Missionary (0)

Anonymous Coward | more than 15 years ago | (#1871573)

Woah, what's up with Larry and the religious references? I have nothing against people believing whatever they want to believe, and sure don't want to start a /real/ religious war, but how exactly does a missionary become a coder?

(Ever notice how the best coders often had career plans totally different than what they ended up doing?)

Later,
A.C.

Re:Perl - Poor Excuse for a Real Language (0)

Anonymous Coward | more than 15 years ago | (#1871574)

I have to agree here... Perl is like duct tape. Useful for quick and dirty solutions to a lot of problems, but hardly elegant and difficult to maintain in large, long term projects. Larry might be right in saying that "there's more than one way to do it," but some ways work better than others. Besides, without some kind of rules or constraints in any system, like paint, all you may end up with is a mess.

Re:Python and Orwell (0)

Anonymous Coward | more than 15 years ago | (#1871575)

True, Perl and Python are more alike than different. It's been said (and perhaps it's true) that if Python had come along before Perl, there'd never have been a Perl.

However, I think LW's point comes down to the sheer pointlessness of the whitespace construction in Python, almost syntax for syntax's sake. The question that always pervades my mind is what on Earth was going through their heads when they made that decision? Can you imagine any method of block delineation that is easier to get wrong? It almost seems designed to slow people down.

That said, I think that Python is a fine language. I still prefer Perl, though 8-).

Re:Python and Orwell (0)

Anonymous Coward | more than 15 years ago | (#1871576)

I'm no perl fan at all. And may be it's emotional,
but after reading it, I like python more than ever :-)


Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

garyrich (30652) | more than 15 years ago | (#1871577)

exactly. I know I've had to decode stuff written
by psycho-looser-poor-ass-excuse-for-a-programmer.
What I was saying is that even if they do use
terrible names the "line noise" of perl at least
gives you a hint. sure, $first_name could be
a reference to an array of first names but at least its a hint.

garyr

too critical (2)

jetson123 (13128) | more than 15 years ago | (#1871578)

My comment above may come across as too critical, so just for clarification. What I was saying is that I think Perl has some quirks and I don't like to see those elevated to language design principles.

But having said that, I still think among scripting languages, Perl is one of the most useful, and it gets a lot of things right, and I certainly appreciate all the effort that has gone into it.

Larry Wall Interview (1)

Accipiter (8228) | more than 15 years ago | (#1871579)

I actually picked up a copy of Linux Journal, and I encourage others to do the same. It's a nice magazine. As for the Larry Wall interview, it was pretty interesting. He really goes into depth when answering the directed questions (something you rarely find in interviews, most of which are rushed.)

I liked the point where he was looking for a name for his language. To actually fumble through the dictionary at every 4 letter word. THAT'S dedication. :P

"We're not just talking about dinosaurs here, but also snail darters and cheetahs and a bazillion beetles in Brazil---not to mention Visual Basic."

HEH.

-- Give him Head? Be a Beacon?

Interesting.. (2)

Weezul (52464) | more than 15 years ago | (#1871580)

Larry has a very interesting take on language disign. I liked is postmodernism comments. Perl definitly feals more like english then other langauges, but maybe that's just because I'm addicted. I don't think, however, that we are at all ready for a ``universilly postmodern'' approach to computation or programming langauges as there is just too much which need to be rigorous. I think we will ultimatly need something more like the Lucky [uni-frankfurt.de] project for Haskell [haskell.org] to do the parsing side anything. That is to say Larry's philosophy is importent even if we do need stronger theoretical building blocks then traditional imperitive programming provides.

Jeff

BTW> Lucky is a monadic parser. Monads are a very powerful way to resolve the contradictions between functional and object oriented programming philosophies. A monadic parser has all the elegance, flexibility, and raw power of a functional parser without the grammer constrains normaly imposd on a functional parser.

Re:Why Perl is popular (1)

Jamie Zawinski (775) | more than 15 years ago | (#1871581)

That said, Perl has some nice features that could be part of any language:
  1. regular expressions and pattern matching of course
  2. automatic memory allocation and garbage collection
  3. relaxed data typing and argument passing
  4. familiar C-like syntax
  5. convenient primitives for files, lists, stacks, queues, and hash tables
  6. eval

With one exception, you've just described JavaScript.

The one exception is convenient access to files, and that's the killer that has prevented it from being used as a batch-mode shell scripting language until now.

I really wish someone would fix that, because I would love to be writing scripts in JS instead of Perl. (It wouldn't take much: just a little syntactic sugar to make the act of listing, opening, and closing files be a less verbose process.)

Here's a telling example of the differences between the two languages: both allow you to treat everything as text manipulation (streams of bytes, regexps, etc.) And both allow you to construct objects and assign them behavior and manipulate things at a high level.

But there is a particular focus built into the language. Sure, there's ``more than one way to do it,'' but the nature of Perl, the nature of the language's shortcuts, encourages you think about things as matching patterns in text, instead of as communication between objects. While allowing both, JS focuses on the latter.

``All the world's a stream of bytes'' is the most horrible and damaging part of Unix's legacy. It has stunted a whole generation of programmers.

Or At It. (1)

Anonymous Coward | more than 15 years ago | (#1871582)

;)

Re:Postmodern? Come on... (1)

Jez (2703) | more than 15 years ago | (#1871583)

It might just be me, but I always think that "There's more than one way to do it" is implicitly followed by " as long as it's in Perl" even though I know it isn't.

Larry Wall's Talk on Perl as Postmodern Language (2)

ejhp (24424) | more than 15 years ago | (#1871584)

Larry gave a great talk at Linux World on "Perl, the first postmodern computer language". The transcript is here [wall.org] (51kb) on the wall family website [wall.org] .

Re:Larry the Missionary (1)

Gog_Magog (14833) | more than 15 years ago | (#1871585)

Since the Bible is one of the most influential books on Western Civilization, I'm more than a little suprised that biblical quotes aren't in greater use. ;-)

They probably aren't in greater use because some people feel that if you mention the bible, or religion, in daily use, you must be a missionary or a bible-thumper. hehe

:-)

Very good article... (4)

vinh (31094) | more than 15 years ago | (#1871586)

I found this article very interesting, even if you're just a "Sunday" Perl programmer (like me) :)

For those who have read _The design and evolution of C++_ by Stroustroupp (sp??) it is interesting to note that Perl and C++ share some design philosophies. Like "the user is always right" school of thought. Maybe that's why both of these languages are popular?

Anyway, you gotta admit larry Wall has a pretty big vocabulary:
  • ...three chief virtues of a programmer: Laziness, Impatience and Hubris...
  • ...Third, I look for projects that franchise the disenfranchised...
  • ...explicitly designed to be postmodern...
  • ...free-form syntax...
  • ..I must have a conjunctive rather than a disjunctive brain...

and etc. etc... I sure would have got higher scores in school had I used words like that! :)

Death to Larry Wall (0)

RedGuard (16401) | more than 15 years ago | (#1871587)

Fellow post-modern computer scientists, despite
his claims to have developed a post-modern computer language, Larry Wall is unable to
break radically with cartesian rationality.
Perl promotes a totalizing discourse which defines(!!) every statement as right or wrong syntax, privileging the white, male programmer.
Only Visual Basic which allows development free from externally imposed structures can liberate
hitherto marginalized voices.
Long live goto!
Death to Larry Wall

Re:The problem with Perl. (1)

pudge (3605) | more than 15 years ago | (#1871588)

Perl is not algebra. Perl is an abstraction to a more complex system. There is not scientific reason, no logical reason, no reason at all why this is necessarily wrong or bad. You're arguing from a specific opinion and worse, arguing definitions from definitions. Programming languages are X, Perl is not X, so Perl is not a very good programming language. But what if the idea that programming languages are X is disputed? Indeed, this is the case.

I'm not saying you need to like Perl or its design. You don't. But I would just hope that if you are going to be making a formal argument, as you appear to be doing, that you support your argument a little bit better than you have. Your definition of what a programming language should be is rejected by Larry Wall and the developers of perl, as well as many of the users of perl. So to use that definition as a basis for discussion isn't interesting.

Of course, Perl technically _is_ a formal mathematical system. It's just a really complex one with lots of quirks, idioms, and apparent inconsistencies. But of course its _spirit_ is nothing resembling a formal mathematical system. This is a good thing, your unaccepted definition of "programming languages" notwithstanding.

You say this fuzziness is inappropriate for a computer language. I disagree. I think it is highly apprpriate. Programming is, to me, art. It is a craft. And Perl lets me be expressive. This is important, and in my opinion, Perl's "fuzziness" is essential to the goal of allowing users to be optimally expressive. And the process of creation is just as important (to me) as the end goal.

And since you don't give any real support for your opinion, mine is just as good as yours, except I like mine better, so I win. :)

pudge@pobox.com
http://pudge.net/

Re:Interesting.. (1)

Tom Christiansen (54829) | more than 15 years ago | (#1871589)

Lucky is a monadic parser. Monads are a very powerful way to resolve the contradictions between functional and object oriented programming philosophies. A monadic parser has all the elegance, flexibility, and raw power of a functional parser without the grammer constrains normaly imposd on a functional parser.
Keep in mind that monadic has other meanings as well. The OED definition 1b for `monadic' is:
of a proposition, fact, function, etc., or the predicate contained therein, when the predicate is non-relational and applies to only one subject term. [emphasis mine --tchrist]
For example, Monadic Classes [perl.com] are a fancier term for Highlander Classes (`There can be only one!'). And lest you think this an irrelevant tangent, the link above actually has Perl content. [Someone actually posted a Haskell-inspired Functional.pm today, too. Funny how things show up together in more than one place all at once.]

--tom

The only time I've ever sworn at perl... (1)

opus (543) | more than 15 years ago | (#1871590)

...was when developing an app that used user-input for pattern-matching. I kept wondering why things weren't working if the user didn't supply a pattern: the pattern defaulted to the null string, which to my mind should match everything!

After a few hours of banging my head against the wall, I discover this little gem buried on p. 70 of the Camel Book:

If the PATTERN evaluates to a null string, the last successfully executed regular expression not hidden within an inner block ... is used instead.

D'oh!
--

use English (1)

Des Herriott (6508) | more than 15 years ago | (#1871591)

No, not a flame on your spelling or grammar, which is fine, but a useful tip on getting meaningful system variable names if you want them.

perldoc English and perldoc perlvar will tell you more.

After all, there is more than one way to do it :-)

Re:Perl == postmodern if postmodern == archaic (1)

warmi (13527) | more than 15 years ago | (#1871592)

I have excatly the same feeling about PERL. It just looks like hack, unreadable and encouraging to write cryptic code. For now I will stay with C++ and use Python for scritping stuff ...

Re:Death to Larry Wall (0)

Anonymous Coward | more than 15 years ago | (#1871593)


Postmodernism as a field of study is a way for people with little scientific background, but much jealously or fear of science, to write pseodu-scientific nonsense about it.

I love reading Postmodern documents that try to compare scientific theories to racism or sexuality. ("The Square Root of -1 is like a penis", or "General Relativity shows the problems Einstein had in his view of women.")

Go do a search for Alan Sokal on the web or find his book on Amazon, it's hilarious.

http://www.amazon.com/exec/obidos/ASIN/031219545 1/



Re:Very good article... (1)

Megasphaera Elsdenii (54465) | more than 15 years ago | (#1871594)

> it is interesting to note that Perl and C++ share some design philosophies. Like "the user is always right" school of thought.

C++ ? User always right? Yeah, right.

Re:Interesting.. (1)

Weezul (52464) | more than 15 years ago | (#1871595)

I forget the original use of the word monad, but I think it was to refer to an idea of ``soul'' and the Catholic church burnd the guy who said that.. Then Libnitz used it both in his religious philosophy and *maybe* in his philosophical justifications for his calculous. Now, the Haskell use of the word monad comes directly from Category Theory (a very abstract branch of Mathematics) which probable got it from Libnetz. I do not know why Category theory used the word monad, but their use of it has been somewhat vindicated by the ``almost soul like importance'' of the monad in solving the issue of where the state of an object is in a functional langauge. Blah..

Anywho, the realevence of this to the programmer world is that this stuff moves us closer to a functional langauge which agree with as least part of the Perl philosophy and feal. Postmodernisn improved by modernist research.. sorta.. of couse that's not at all ruled out by postmodernism. If anything Perl's dependance on it's imperitive style is keeping it from being more postmodern. Er.. Well.. Whatever.. Maybe I'm spouting bullshit here.. I'm never quite shure about these things..

Re:Perl == postmodern if postmodern == archaic (0)

Anonymous Coward | more than 15 years ago | (#1871596)

"arhaic?" "antiquated; no longer in ordinary use"? (And that's 40-something built-in $ variables, most of which can also be referenced with words.)
"C is mother, C is father", but Perl's still cool (and postmodern!).

Perl for the Palm? (1)

Anonymous Coward | more than 15 years ago | (#1871597)

He mentions that he has been "playing around" with
his Palm Pilot. Does that mean we can hope to
see a subset of Perl on the Pilot? God I hope
so. That would rule.

Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

Mark Storer (4097) | more than 15 years ago | (#1871598)

"Perl seems to my mind to actually
help readability in many ways. the
fact that you can tell at a glance
that $array is a scalar variable and
@variable is an array
is (again depite the name) and array
is easy. "

I'm going to have to object to your line of reasoning here. Any psycho-looser-poor-ass-excuse-for-a-programmer that names their variables "array" or their arrays "variable" deserves every form of torture their maintainers can dream up.

Maintainers can get downright creative when it comes to thingking up new and interesting ways to inflict pain on the original coder. Be nice to the people who may someday have to read your code. Comments and a clean writing style are all that stand between you and a sever thwacking.

Re:Python and Orwell (0)

Anonymous Coward | more than 15 years ago | (#1871599)

You could say Python enforces the readability people normally would add to their code.

Yes. This is my (and, I believe, Larry's) point: why? Why enforce this, particularly when it's so hard to spot an error in this by just eyeballing it? It's bizarrely bondage-and-discipline for what is, otherwise, a nice language. There are far better things to enforce, with much more of a return.

The truth is, when I'm coding, I like to choose my level of indenting for maximum readibility; the default doesn't always make sense. Therefore, (IMHO of course), removing that choice makes no sense.

Plus, of course, you have to avoid deep nesting or you end up with wonderfully "right-heavy" code.

Re:The problem with Perl. (1)

L1zard_K1n6 (39154) | more than 15 years ago | (#1871600)

Well obviously your perl code must at some point resolve to something computable.

Programming languages let you do all sorts of things that violate "purity". What do you think a type cast is? C will let you shoe horn anything you want as long as it doesn't cause a segfault.

Perl is by no means fuzzy. Every operation is founded on a set of principles that can be deduced by reading the source.

Why Perl is popular (1)

scruffy (29773) | more than 15 years ago | (#1871601)

I think the postmodern business is silly. Perl has to be a formal language, just like any other programming language.

That said, Perl has some nice features that could be part of any language:

  1. regular expressions and pattern matching of course
  2. automatic memory allocation and garbage collection
  3. relaxed data typing and argument passing
  4. familiar C-like syntax
  5. convenient primitives for files, lists, stacks, queues, and hash tables
  6. eval
For short programs and "exploratory programming", these features are nice because you can avoid tedious details (declarations, memory allocation, pointers) that get in the way of what you want to really want to think about. Larger programs, however, need more constraints to at least ensure widespread agreement on names and types and to limit unexpected behavior (e.g., an eval might do anything).

There are quite a few things I don't like in Perl, e.g., heavy use of $_, uncommented regular expressions, and omitting optional parentheses can make Perl programs look like so much gibberish. It would have been nice if one goal of Perl was to ensure that any program looks semi-sensible to a C programmer, but I guess you can't have everything you want unless you create your own language.

Re:Perl for the Palm? (1)

Drunken Philosopher (46289) | more than 15 years ago | (#1871602)

Perl/TK would be perfect for the PalmPilot, but that may require a bit more RAM than they typically hold. OTOH, if 3COM wanted the PalmPilot to have thousands of craven freeware programmers writing to their platform, then that is exactly what they'd do. Hmmm....

Larry is Cool (3)

gavinhall (33) | more than 15 years ago | (#1871603)

Posted by d106ene5:

I don't know how else to say it - his presentations at conferences are so offbeat, his interviews always entertaining.

Of course, perl is offbeat and entertaining. Its bizarre and obscure at times, but anyone who can write it with skill usually swears by it.

Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

sethg (15187) | more than 15 years ago | (#1871604)

Perl seems to my mind to actually help readability in many ways. the fact that you can tell at a glance that $array is a scalar variable and @variable is an array is (again depite the name) and array is easy.
Except that $array could also be a reference to an array.

I've spent a bit of time beating my head against complex data structures in Perl, and while I'm sure I'll get the hang of these things eventually, I've had to make liberal use of Data::Dumper to prevent the syntax from biting me.

Of course, since Unicode support is coming to Perl, and all of the Zapf Dingbats are in Unicode, we can just extend the syntax to...

Re:PERL vs PHP (1)

fishbowl (7759) | more than 15 years ago | (#1871605)

Perl is a general purpose language with applications in system and application software.
PHP only applies to web content.

Perl is popular because of its power, extensibility, flexibility, openness, and because
it's been well marketed (yes, even as it is free).

Re:Fundamentalist Christian (0)

fishbowl (7759) | more than 15 years ago | (#1871606)

I think the reason fundamentalist christians
get such a bad rap is because many of them
DO care if you are a homosexual or a consensual
sadomasochist, and they literally feel that you
would be better off dead. The most radical of
the group should not represent the entire cult,
but that is the way they are perceived.

The NSA does use perl. (3)

Anonymous Coward | more than 15 years ago | (#1871607)

I used to work for the NSA. We used Perl for scripting tasks etc. But most of our filters were done in C. When i was in Menwith Hill, we had to do Sparc Assembly as well, you should now how hard it is to write software that has to monitor gigs per seconds, you have to tune your systems to perfection.

and furthermore... (1)

Dictator For Life (8829) | more than 15 years ago | (#1871608)

...what is Perl itself written in? Perl, or C? My, how orthogonal. How modernist.

I like Perl a lot. It's easy, fast, and cool. But I too weary at times of the idea that Perl is "better" than other languages because it's so free-form.

The only way post-modernism -- including Perl -- can really work is if there is a "modernist" foundation under it. When everyone literally abandons ethical standards (because "there's more than one way to do it"), we have chaos. So too with Perl: it is dependent upon an orthogonal OS to even run! Or shall we rewrite Linux in Perl?

His principles can only be applied so far. Which means they're not useful for everything. Just like Perl.

Re:PERL vs PHP (1)

Jon Abbott (723) | more than 15 years ago | (#1871609)

It's line noise!! Muhahahaha!

$_="It's line noise!!\r"; $|=1;
$e='s/([\x41-\x5a])(\W*)([\x61-\x7a])/\l\1\2\u\3 /g';
print while select('','','',.1),eval $e || $e=~tr [4567lu] [6745ul];

Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

/dev/niall (1043) | more than 15 years ago | (#1871610)

Perl can only be understood by its creator

As a poor commenter myself, I can assure you that anything I write in any language is going to be difficult for someone to understand. This doesn't make my code bad, the application bad, or the language I wrote in bad. It just makes me bad! ;)

Lisp -- you know the acronym for Lisp, right ;) (1)

Anonymous Coward | more than 15 years ago | (#1871611)


Doing something small in perl is quick. So you start using it. Soon you're doing something big and serious and still using it. And then you're in a bit of a mess.

I'm not really objecting to your point of view, I've used a lot of languages, and all of them have their strong (well-loved) and weak (hated) points.

I do note though, on the particular point above, that you're not making a straight-up comparison.

I assume that when you do something big/serious in Lisp, you're making use of various constructs in the language such as (depending on dialect) packages, closures (lambda), OO (CLOS/Flavors), etc. You could certainly write a lot of conditional sexp's instead, but you want these features expressly because they improve the quality of the code.

Well, gee, Perl has these constructs too. (You just never see them in one-off, quick and dirty CGI scripts). It simply takes an investment of time before you learn how to use them.

must be new to perl (1)

garyrich (30652) | more than 15 years ago | (#1871612)

Perl without Larry's morality
or oblique biblical references
is like Python without a parrot
skit or ip framing without reference
to carrier pigeons.

Really, I'm the canonical agnostic
Secular Humanist but Larry is the
best advertisement for Christianity
I've ever seen. [no one ever expects
the Spanish Inquisition - stop that
Guido...] His faith is an intregral
part of everything he writes. Maybe
this is what he meant when he said
that Perl has done more for missionaries
than if he had become one. He is a great
book review for his Author.

garyr

The problem with Perl. (2)

Jamie Zawinski (775) | more than 15 years ago | (#1871613)

I've met Larry a few times, and he's a great guy. His writings are always highly entertaining (I especially loved his `` perl as postmodernism [wall.org] '' speech, that was just hilarious. (BTW, I also highly recommend How to Deconstruct Almost Anything: Chip's Postmodern Adventure [communities.com] .)

Larry has a consistent philospohy behind the design of Perl (or rather, the intentional lack of overall design.) It's an interesting idea, certainly, and one that I think hasn't been consciously applied to a programming language before. However, if Perl is the kind of language that that approach produces, then I think the experiment is a failure.

While Larry is a smart fellow, the problem is that he is also a linguist. And having spent a few years working with linguists (doing a natural-language understanding boondoggle), my experience is that linguists should never ever be allowed near computers.

Computer languages aren't really languages, not in the sense that linguists know languages. Computer languages are formal mathematical systems, which are a totally different beast. Computers are very literal-minded, not fuzzy at all, so one must talk to them precisely. The fuzziness that appears in human languages is inappropriate in a computer language.

The ``language'' of mathematics doesn't have linguistic drift. Where is the ``slang'' in arithmetic? Where are the ``dialects'' of algebra? It doesn't happen, because mathematical systems exist by design, not by evolutionary pressure and random mutation.

Accretion works well for some things, like DNA, forests, and cities. But I for one am glad that my car's engine was designed to be efficient and self-consistent, and I prefer the software I use (including languages) to be the same, rather than a sprawling Winchester Mystery House [winchester...yhouse.com] of a language like Perl.

Of course, I end up using Perl anyway, because often it's the most convenient tool for the job for any number of not-very-good reasons. The way Perl manages to suck so bad and yet still be marginally useful is probably what makes it the perfect complement to Unix itself. Worse is Better [jwz.org] , after all.

Actually, now that I think about it, Tcl is even more horrible than Perl, so it's a wonder it hasn't taken over.

Maximal obscurity! Now!

Re:Larry the Missionary (1)

Simeon2000 (13536) | more than 15 years ago | (#1871614)

I really admire Larry Wall. I am a geek Christian too, and I must admit, in our industry it is not a very popular thing to proclaim your faith, unless you're anything but a Christian.

Larry loves to slip in to his speeches and stuff references to what he believes. And whether you like Jesus Christ or not, you have to admit, the man is a man of integrity, and believes what he says he believes. Go big camel!
----- if ($anyone_cares) {print "Just Another Perl Newbie"}

Re:Larry the Missionary (0)

Anonymous Coward | more than 15 years ago | (#1871615)

Everytime I read something by Larry Wall, I see a gem of a person. ("my brain is conjunctive, does not seem to be disjunctive").

I vote we add him as a mascot and a messiah of the Open Source movement. I also vote that we get rid of that other guy .. whassisname RMS.

-- //Shrikumar
shri@cs.umass.edu

Re:Larry the Missionary (1)

djKing (1970) | more than 15 years ago | (#1871616)

See: LARRY WALL Divine Invention Author Erik Davis talks to Perl creator Larry Wall http://www.feedmag.com/re/re172_master.ht ml [feedmag.com] Larry explains it all. Go Brother Larry! -Peace

PERL vs PHP (1)

Betcour (50623) | more than 15 years ago | (#1871617)

Hum - I've been trying PERL for writing CGI, but switched to PHP3 real quick. Frankly, I haven't used PERL that much to talk about it, but it seems to me that PHP3 is way better, at least as for as Web development goes. Could anyone explain why PERL is so popular ? I don't really get it.

Why PERL/DBI is better that PHP : (1)

Anonymous Coward | more than 15 years ago | (#1871618)

(Sorry for my bad english, i'm french speaking)

IMHO Perl/DBI is better that PHP :
1) DBI Module
With DBI (the DataBase Interface module for Perl)
Your perl source code are independent from the Database. If your database swap from MySQL to Informix (or Oracle) You don't have to change the code. PHP use native call, it's more speeder but not very portable.

2) Reglular Expression

4) Modules (CGI, FTP, MAIL, IRC/API, USENET)
A lot of interesting module are available in perl for easy Gate to do accross a Web-Database
eg :
Web/Database/Usenet
Web/Database/IRC
Web/FTP
Web/SMS

5) No other language to learn
PHP is easy and work fine in Unix and NT and seem to be a easy choice for Newcommer in WebDevelopment World. but it's JUST a WebDB language.

However, Perl/DBI a better choice for long time, and long vison project.

Well ! i home that will help you ! :o)
Perl/DBI users looks very rare, i'm feeling lonly on the PHP Hype :o) HEeeeeeLLPp MEEEeee ! :o)

Re:The problem with Perl. (1)

Jamie Zawinski (775) | more than 15 years ago | (#1871619)

There is not scientific reason, no logical reason, no reason at all why this is necessarily wrong or bad.

No, there's not. As I said, it was an interesting experiment. Nevertheless, Perl blows, and I think its design philosophy is why, rather than some implementation detail or other accident. It was interesting to see what kind of language we would end up with with the design principle of no design principles. Well, the language we ended up with is one that I find egregiously bad. Interesting data point. Let's not try that again. Acknowlege, move on.

You're arguing from a specific opinion and worse, arguing definitions from definitions. Programming languages are X, Perl is not X, so Perl is not a very good programming language. But what if the idea that programming languages are X is disputed? Indeed, this is the case.

And you're arguing syntax. Obviously I was stating my opinion, not trying to offer a proof of why Perl is bad. The ``X'' that Perl is is ``sucky.'' I hold that truth to be self-evident. Beyond that, I suggest that this suckiness is a result of the thing about Perl that is different from prior, less sucky languages: the fact that Perl rejects outdated academic concepts like consistency and simplicity.

You say this fuzziness is inappropriate for a computer language. I disagree. I think it is highly apprpriate. Programming is, to me, art. It is a craft.

And to me. But don't confuse the act of giving the programmer freedom of expression, and the act of giving the programmer a simple, consistent, easy-to-undertand tool. You can do both. Just because a tool is a simple and easy-to-understand device (like a lever, or rope) doesn't mean it restricts the artistic expression of those using it. Help, help, I'm being oppressed!

People can live free with tools that haven't themselves gone hog-wild with baroque gilding.

I consider simplicity, consistency, and orthogonality to be good things in a tool. I think that when you want to provide a tool to solve a problem, you should think the problem through, and cover all the permutations. Figure out what's needed, and do it in a simple way. That's not the Perl approach. The perl approach is much more haphazzard than that, and usually involves a new line-noise syntax and some regular expressions.

And while ``there's more than one way to do it [as long as you use line noise punctuation and regexps]'', Perl most assuredly does encourage a particular programming style. It does this by the shortcuts it provides. Perl encourages you to think about everything as text manipulation, when (news flash!) most things aren't. It encourages use of regular expressions, even when they would be inappropriate (which, news flash, is almost all the time.) It doesn't force you, no, but it makes one path easy and the other path hard, and that's all it takes.

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

Furthermore, ``There's more than one way to do it'' is not a virtue in a multiple programmer environment. When someone else is going to see your code (and unless you're doing an art project all on your own, someone will) your responsibility as a programmer is not only to make the program work, but also make it maintainable.

Every 4 letter word (1)

Trurl (3494) | more than 15 years ago | (#1871620)

>To actually fumble through the dictionary at every 4 letter word. THAT'S dedication. :P

One might assume he just used /usr/dict/words in combinarion with a little "pearl".

What, outlaw syntax checking? (1)

Monty Worm (7264) | more than 15 years ago | (#1871621)

Hey, I'm cool with perl's syntax checking. The syntax checker is all that stops me from losing it completely. Having to order my mind enough to fight it within the syntax constraints of any given language is part of the development process, it helps me understand the problem.

As it is, my code is getting looser and looser (is that really a word) to the point while explaining bits to my supervisor (a PhD. equipped scientist, not computing) I have to gloss over the bits that look like line noise
"That line that says s/[\_[\. \,\?]//g; does have useful function, it does xxxx"

At least we're writing computer code that looks like computer code, we could all be writing CoBOL, RMS protect us from that....

Re:Larry Wall is Cool (1)

Anonymous Coward | more than 15 years ago | (#1871622)

as long as there's no swimsuit edition.

Perl == postmodern if postmodern == archaic (1)

CoughDropAddict (40792) | more than 15 years ago | (#1871623)

If "postmodern" means having 100+ 2 character built-in variables consisting a dollar sign ($) and a random punctuation mark, I'll "regress" into "modernism", thanks.

Seriously, coming from C, Perl seems to make for needlessly archaic and unreadable code. Hard as I try, I can't get myself as excited about coding for Perl as half the open source community seems to be.

Re:Perl is a sick,twisted,perverse,dominatrix lang (1)

vladimire (52944) | more than 15 years ago | (#1871624)

Much like any other programmer, Perl can be difficult to read. However I had to maintain a couple of thousand lines of Perl code written by a couple of other people, and one of them commented well, and that made it much easier to read. So Perl being a read only language does in a large part depend on the person writing it, much like any other language.
Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...