Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: What's the biggest piece of work you've done alone with Perl?

by dws (Chancellor)
on Apr 22, 2003 at 00:31 UTC ( #252169=note: print w/ replies, xml ) Need Help??


in reply to What's the biggest piece of work you've done alone with Perl?

Three part longish question to explore the scope of Perl's power.

If you're exploring Perl's power, I suggest you rethink your first question, or consider adding a fourth. Perl is suitable for more than just solo programming. Teams can use it, too. I once managed a team that had written an 80KLOC application server in Perl. (The core of the team that wrote it was ~6 people, more were added later to extend it).

Personally, the biggest single thing I have in Perl is about 1500 lines, plus another 1000 lines of unit tests, but not including CPAN stuff (HTML::Template, DBI, plus a couple of others).

A strategy that helped me pull it off was to use Test-Driven Development. Figuring out how to write tests first helped me think through APIs with an actual client (the test) in mind. That helped avoid a lot of nonsense. Having a large body of unit tests gave me confidence that I wasn't breaking things as I went.

The biggest mistake I made was not getting the code body under source-code control soon enough. (I've since set up a home CVS pserver.)


Comment on Re: What's the biggest piece of work you've done alone with Perl?
Re: Re: What's the biggest piece of work you've done alone with Perl?
by perrin (Chancellor) on Apr 22, 2003 at 04:16 UTC
    I agree about the team vs. solo. If someone told me he had written a huge application in Perl all by himself and 90% of the code was his, I would not see that as a good thing. Much better to hear something like "I wrote a successful application with a zillion features that was able to turn on a dime when the business asked for changes, and took only a few hundred lines of code, and I did it by collaborating well and reusing tons of open source code from CPAN."
      Team or individual, it's prudent to see the quality of the code before judging, wouldn't you agree? 90% The Conway™ just might stand a chance of being better than 90% temp-SDEs. There have been fantastic large things done mostly by an individual with Perl (like Mason, right? or like the amazing sounding wireless stuff dragonchild wrote about, or CGI.pm for that matter—almost 1/2 of its 6,400 lines is code and I know that many have worked on it today but at one point it was the work of one and that single module drove a staggering portion of web development).

      The power of the communit(y|ies) is evident just by visiting this amazing site. I'm curious about the extreme edge of the leverage that Perl gives the individual. There are many, many users here who own scads of modules or big parts of Perl. What better group to put this question to?

      The second question does include "what modules?" I'm not seeking the Alceste formula... unless of course you have it. :)

        Perl is certainly a productive language, but people can and do write large applications in languages like C++. That's how most open source apps get started. Not Mason though. That was a collaboration before it made it to CPAN and is even more so now, with Dave Rolsky taking on a lot of it. And of course the work on "big parts of Perl" is done in C, not Perl.

        I think that the key to Perl's productivity is easy data structures and CPAN. Standing on the shoulders of giants makes it possible to do amazing things "alone" when in reality you're collaborating with a few hundred people.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (8)
As of 2014-12-25 19:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (162 votes), past polls