Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re (tilly) 2: Perl vs Lisp/Java/C/C++

by tilly (Archbishop)
on Sep 10, 2001 at 05:37 UTC ( #111371=note: print w/replies, xml ) Need Help??

in reply to Re: Perl vs Lisp/Java/C/C++
in thread Perl vs Lisp/Java/C/C++

You may have had a miserable experience with Lisp, but I think that you are writing it off far too easily. First of all a 500,000 line Java program is likely to be about a 50,000 line Lisp program. The factor of 10 difference in code size for the same task will pay for itself in maintainability. OK, since the lines will do more they will be harder to follow. Say a factor of 3. But that makes the overall code base about a factor of 3 easier to understand.

Of course just glancing at the code base what you first notice is that you have to think. As petral pointed out to me once, this is analagous to the division between readable and legible fonts. Legible fonts are ones which can be seen easily from a distance and under poor viewing conditions. A readable font is one which you can easily read large quantities of. They are not the same. Lisp is very definitely not legible. But it lends itself to readable code.

And it gets better. Your reduced code size makes it possible to work with a smaller team. Since intrateam communication has been known for decades to be the biggest bottleneck on large projects, that is an even bigger win. Therefore you have less code, your code base is easier to understand, and you have a smaller team that can work faster. Who would you bet on?

This isn't just theory. Read Paul Graham's article Beating The Averages about the history of ViaWeb. One of the many points that he made is that they found that any competitor who was advertising for Java programmers could just be written off. They simply weren't going to be serious competition...

(Many of the same points apply to Perl of course...)

Replies are listed 'Best First'.
Re: Re (tilly) 2: Perl vs Lisp/Java/C/C++
by archen (Pilgrim) on Sep 11, 2001 at 02:08 UTC
    I probably am writing Lisp (and don't get me started on Prologue either) off to easily. I didn't exactly mean how many lines it takes to make a program - although that's a very good point! I meant just a raw count of 500,000 lines. I don't much like Java, but supposidly one of Java's selling points is that it can scale to be extremely large and still be reasonably maintainable. Truth be told I'm not sure I buy into that myself.

    Perl and Lisp do have similarities in how cryptic a program can look. But I think the recursive nature in lisp tends to add a degree of compexity, compaired to languages that are a bit more strait foreward.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (3)
As of 2021-04-12 01:34 GMT
Find Nodes?
    Voting Booth?

    No recent polls found