The best code doesn't get written on the clock. It gets written in spare time by people with a passion (ok, and sometimes on the clock as a result). If all you can see is the cost of re-inventing wheels, then you probably don't see the benefit of something truly new and innovating either. I'm not saying it's a cheap benefit, all failures considered, but it's not your dollar being spent either.
| [reply] |
It kind of is my dollar being spent. Every time a perl hacker rewrites File::Find instead of writing something new that I might want and putting it on CPAN, I lose something.
Don't get me wrong -- I have useless projects too. But there is a cost to these things. We only have so much time to spend on free software.
| [reply] |
Your argument, if taken too far, would ultimately lead to the claim that the time spent by an absolute beginner going through the exercises in an introductory textbook could have been better spent writing production code!
Really you only "lose something" if two assumptions hold:
- The perl hacker in question already knows enough to write a CPAN module you'd want to use; and
- The perl hacker in question does not learn anything from the exercise that s/he might use in future to create even better modules.
Unless you can prove that both of these are the case -- and the second, I think, is close to unprovable -- then you have no reason to assume that you have lost anything.
| [reply] |
I submit that every time someone who would like to be a Perl hacker rewrites File::Find to teach themselves new skills, the net benefit to you is positive, not negative. Why? Because you've lost nothing (the person lacked the skills to write something you'd have found useful), but have the potential of gaining down the road when that motivated person exercises their new-found skills.
| [reply] |
The problem with putting all these little code favorites on CPAN, is module overload. There are so many single purpose modules out there now, that it can be hard to look thru them all, to find what you need. Also, are you trying to put end-use programmers out of work? If we have all code written in little modules, selectable from menus for insertion into programs,....you end up with Java. :-) Part of the fun of programming is figuring out algorithms and implementing them. And then there are other reasons to do it on your own.....for instance does File::Find use glob or readdir ? I'm too lazy to dig in and find out, BUT I rely on the constant glowing revues of modules such as File::Find, to lead me to trust it implicitly.
| [reply] |