Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

gnat (29)

gnat
  (email not shown publicly)

Journal of gnat (29)

Sunday April 14, 2002
04:29 PM

Some random links

[ #4189 ]
Why Free Software Projects Fail:

There was a GPL project once to create a Mathematica style numerical programme - It never even got beyond the design stage. When I looked through the mailing lists there were tons of people all giving their opinions on how the system should be designed, but no-one ever took the inititative to start writing something. As a result everyone eventually lost interest in a project that was clearly going nowhere.

Things you Should Never Do:

There's a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming:

It's harder to read code than to write it.

This is why code reuse is so hard. This is why everybody on your team has a different function they like to use for splitting strings into arrays of strings. They write their own function because it's easier and more fun than figuring out how the old function works.

--Nat

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • It's harder to read code than to write it.

    This is why code reuse is so hard. This is why everybody on your team has a different function they like to use for splitting strings into arrays of strings. They write their own function because it's easier and more fun than figuring out how the old function works.

    Like most of what Joel has written, there is a lot of truth to this, but many of these observations are not as universal as he would have you believe.

    First off, I strongly disagree that any princ

    • When I first read that piece a couple of years ago, I had similar thoughts, that Joel went a bit overboard. However, I agreed with him in the general sense. Later that year when we decided to rewrite Perl, they were brought to mind again. Frankly, I've never been able to think too deeply about the purpose of Perl 6 without thinking about that Joel Spolsky piece. Thanks for the link, Nat. :-)
      • It's almost 2 years later, and I can say with conviction that Perl6 isn't a rewrite of Perl5 as much as it's a rethinking of Perl.

        Perhaps that's why it's causing The Fear in so many people...

      • Yup, I thought of perl6 too. But the basic problem I have with his article is how unscientific the premise is. There have been some spectacular "rewrite from scratch" failures. And some spectacular "rewrite from scratch" successes (NT, .NET, perl5). Therefore rewriting isn't always bad, therefore Spolsky's hardline is full of shit. And, even worse, useless. If rewriting from scratch isn't the only variable to consider, what are the others? He doesn't say.

        --Nat

        • Yeah. He says a lot of things that are great to keep in mind when deciding what to do with your old code, but you gotta take it with a grain of salt.