Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: No Beautiful Rule

by jimt (Chaplain)
on Jul 28, 2006 at 23:20 UTC ( #564474=note: print w/replies, xml ) Need Help??

in reply to Re: The Perl Hacker Inferiority Complex, No Beautiful Rule
in thread The Perl Hacker Inferiority Complex

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.

Replies are listed 'Best First'.
Re^2: No Beautiful Rule
by cerelib (Novice) on Jul 29, 2006 at 14:27 UTC
    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://564474]
[Tux]: Corion++ hippo++
[ovedpo15]: it isn't homework. its a module I use at work. The process to add additional module isn't worth it. p.s never heard a university course which teach perl
[marto]: there are many, to this day.
[ovedpo15]: @Corion Yes I use the regex you showed me. its very good regex. although now i need to know that substring unit that comma
marto mad corrections to one around 18 months ago
[ovedpo15]: my code checks the value after that comma, if it isn't valid it will remove it. so I would like to remove the substring after that comma meaning getting the string before comma.
[hippo]: Are you sure that Text::CSV_XS isn't already installed at your work? It's such a useful module that it might well be there.
[marto]: pointing out the advantages of cpan modules is well worth in, as both developer and $client/$company benefit greatly
[Tux]: $src =~ m{^(.*),(.*)$/ and $2 !~ $valid and $src = $1;
[Tux]: s,/,},

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2018-05-27 10:47 GMT
Find Nodes?
    Voting Booth?