Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Paul Graham points out that if another language requires 3 times as much code, coding a similar feature will take three times as long. Actually, I think he's mistaken here. Development time, IMHO, does not scale linearly with the size of the program. I don't have any statistics handy (anyone, anyone, Bueller?), so this is only a suspicion, but the longer your program, the more bugs you're going to have. This will slow development time even more.

I do not follow this argument. Sure, if your program is longer, you will have more bugs. But how does that translate into the claim that development time doesn't scale linearly with program length? Why would the number of bugs grow superlinear?

However, I think it's a mistake use the "development time is linear with code size" when comparing developing in different languages. Sure, a Perl program might be smaller in size than a Java program. But Perl programs are likely to contain more regular expressions than Java programs. Regular expressions are an language in themselves - a very dense language to be precise. But I would not want to make the claim that regular expressions contain less bugs than other code, just because they are more dense! In fact, it's probably the other way around.

I would say that dense languages tend to have more bugs per line of code than less dense languages. Don't forget that Perl gives you a lot of rope. That makes for shorter programs, but it also gives you more opportunity to hang yourself.

There is also a large class of bugs that are language independent. Bugs in the design will be bugs, regardless whether the implementation is written in Perl, LISP or Java. Those bugs do not scale at all with the length of the implementation.

Maintenance speed, and speed of implementing new features isn't dominated by program size. What's far more important is a good design. I'd rather add some new functionality in a well designed C program of 1,000,000 lines of code than a new features in some horribly written Perl program of 1,000 lines of OO-maze. And I'm a far better Perl coder than C coder. And then we haven't even talked about the development environment. How is source control being done? What's the testing environment, etc, etc.


In reply to Re: Productivity and Perl by Abigail-II
in thread Productivity and Perl by Ovid

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others examining the Monastery: (4)
    As of 2020-03-31 23:42 GMT
    Find Nodes?
      Voting Booth?
      To "Disagree to disagree" means to:

      Results (186 votes). Check out past polls.