Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: The Perl Hacker Inferiority Complex, No Beautiful Rule

by cerelib (Novice)
on Jul 28, 2006 at 17:43 UTC ( #564404=note: print w/ replies, xml ) Need Help??

in reply to Re: The Perl Hacker Inferiority Complex
in thread The Perl Hacker Inferiority Complex

Perl is not a "genuinely bad language". A CS professor might tell you that because Perl was not designed as an academic innovation. It was designed to, as Larry Wall said, "make easy things easy and hard things possible"(or something like that). The academics denounce Perl because it does not boil down to some beautiful simple rule. These are the people that love Lisp and think the idea of such a context sensitive language like Perl is absurd. Lisp can be boiled down to a small set of Beautiful Rules, but do you know anybody who solves any problems with it? These languages have their place. They innovate new ideas, but typically only seem to focus on doing that one thing well. Since Perl is designed for solving problems, it picks and chooses from these vast academic achievements and lets you use them at your discretion.
Here is what it comes down to:

A monk wants to solve a problem in as few lines as possible.

An academic wants to be able to write compilers with as few lines as possible( because every statements is broken down into executions of the few Beautiful Rules).

Comment on Re: The Perl Hacker Inferiority Complex, No Beautiful Rule
Re: No Beautiful Rule
by Asim (Hermit) on Jul 28, 2006 at 18:38 UTC
    Lisp can be boiled down to a small set of Beautiful Rules, but do you know anybody who solves any problems with it?

    How 'bout extending Emacs?

    Says the vi guy...

    ----Asim, known to some as Woodrow.

Re: No Beautiful Rule
by jimt (Chaplain) on Jul 28, 2006 at 23:20 UTC

    Lisp can be boiled down to a small set of Beautiful Rules, but do you know anybody who solves any problems with it?

    Orbitz and Yahoo! Stores (formerly ViaWeb) both use Lisp for their software, or, at a minimum, they used to.

    I've been reading Hackers and Painters by Paul Graham and will probably post a review of it when I'm done. Only 2 more chapters to go!

    The book is a bit preachy in points but is overall a good read. He's very heavily biased towards lisp as the best tool for the job - any job. He was adamant enough that I've started learning it myself.

    One of the points he raised in one of the chapters was that he paid attention to the languages his competition was using. If somebody showed up using Java or C or the like he wouldn't worry at all, dismissing them as suits that would fail. If he found out a potential competitor was using Perl or Python or the like, he'd start to lose sleep about it. They were using a language that allowed for more nimble development and most likely chose it because they knew what they were doing. He said that he would have probably wet himself if he found out a competitor was using lisp.

    The point he was making was that languages started off with two very distinct paradigms - machine language and lisp. And the machine language side (progressing through Assembly and C and Perl and Ruby and such) is skewing leaning more towards lisp-ish things that've been around for decades anyway. So if everything else is becoming more lisp-ish, why not just use lisp?

    Now, mind you, I'm not going to abandon perl for lisp any time soon, no matter how cool it may be (I didn't abandon perl for objective-c either, and that language is also terribly cool), but I am finally curious enough to see what the hype is about. If nothing else, looking at other languages gives me ideas and concepts to bring back and use in Perl.

    I don't care about beautiful rules or number of lines, I care about beautiful solutions and beautiful software. Perl, properly done, really excels at that.

      I was not denouncing Lisp. Lisp has had all the time in the world to become a popular programming language, but it has only been used by a few groups that have latched on to it. Lisp's greatest accomplishment was affecting other languages. Languages like Perl and Python have borrowed from Lisp to become better languages because they took the good ideas and made them easier to use. If Lisp finally took off, that would be great, but it seems that it will always have its claim to fame as one of the great ancestor languages. I admit, there will always be purists out there writing Lisp and they are probably some of the best programmers.

      So again, I have a high respect for Lisp, but I was trying to point out the real reasons why Perl is thought by many to be an ugly language. On the academic side Perl is a multi-paradigm mess, even I will admit that. It has become too complex to be able to write a compiler on your own( look at the number of implementations of Python vs Perl), and that is another reason that academics don't like it. But, Perl's redeeming quality is that it has always managed to "make easy things easy and hard things possible"(Camel3).

      Maybe I will take a stab at that "Hackers and Painters" book. Sounds interesting.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://564404]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2014-09-01 14:50 GMT
Find Nodes?
    Voting Booth?

    My favorite cookbook is:

    Results (13 votes), past polls