Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Re: Re: Re: Re: CPAN Module Evaluation Red-Flags

by Anonymous Monk
on Jul 29, 2003 at 00:17 UTC ( #278670=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Re: CPAN Module Evaluation Red-Flags
in thread CPAN Module Evaluation Red-Flags

Is this really true on a percentage basis?

Hats off to anyone who can find an objective answer to this question. I really have no idea, my fairly uneducated estimate is based on the following:

  1. Based on what I've seen, much more Perl code has been written than Python and/or Ruby code. This is soley based on my own impressions of each language's development community and may not be accurate. Major factors in this guess are the existance of the CPAN for Perl and no viable alternatives for other languages (I'm going to give it a shot in about a month though :).
  2. The related point is, there are only so many ways to write an HTML parser, DBI::easy module, and so on. This doesn't stop people from writing and publishing code though. So what happens is when a development community is in it's initial stages (such as Python - despite being around since 1991) most programmers are attempting to write serious modules that can be built upon. Once the "core" (not as included with the distribution mind you) modules have been written, people expand to writing their own layers on top and you get the HTML::EZDBI::Simple bloated modules that are often poorly written as there is less complexity, and less peer review. So while the core modules for both languages may be of equal quality, the extra stuff on top provides increased noise when searching for existing code.
  3. Perl doesn't create artificial limits on what you can do. This allows you to write very elegant code, but it also allows you to write unmaintainable, sloppy code. You can of course, as the cliche goes, write bad code in any language. The difference is apparent when a novice programmer sits down to write a program. There will be bugs in both languages, but the code written in a less-flexible language will suffer from more inherent design flaws (think variable scoping, not indentation and superficial issues). These design flaws are often not fixed, because they provide the illusion the program "works" but create maintenance problems (and hence, additional bugs) down the road. With less-flexible languages, many more bugs fall into the desireable class of "fix now or it won't work. Period." Keep in mind this obviously does mean everyone writing Perl will suffer the same fate, it applies almost exclusively to novice programmers, which make up a high percentage of any language's user base.

One more comment:

(And hope to hell im right :-)

I'm curious - why? Very high-level programming languages change fairly rapidly. Some languages become bloated, others don't have the necessary features, new languages come along that suit your needs better, and sometimes a specific language is needed for a specific task. Why bind yourself to a single language? To cheer for one language over another seems counter-productive. A language you're using today, won't be the one you use in 5 years* unless you're doing legacy work. New, improved languages will come along to replace them. As soon as this stops happening is the time I start to worry.

* although it might bear the same name.

  • Comment on Re: Re: Re: Re: Re: CPAN Module Evaluation Red-Flags

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2021-04-21 17:18 GMT
Find Nodes?
    Voting Booth?

    No recent polls found