All the Perl that's Practical to Extract and Report

Navigation

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

Please Log In to Continue

Okay, you're trying to explain
the success of modules on CPAN;
that is, why do certain modules become
more popular.

What isn't clear to me is: since hardware
is increasingly
powerful, why is the size in memory of a module important? It's not as if different "species" of a module are competing for limited memory in a literal sense. Something like
DBI is quite large, but it's undeniably more
successful than database-specific modules were
(you're not going to use an XS wrapper around
libpq, even if it was tiny, unless you have a
very limited environment like maybe an embedded
device).

I don't doubt that there is some way to describe
the popularity of modules on CPAN in terms of
"natural selection", but I can't see what
the relevant "resources" being competed for are. Maybe the memory size isn't what's important,
but rather the simplicity/elegance of the
module's API (for example). Or maybe people
are already "adapted" (exapted?) to other ways of programming, and creating modules with similar
APIs would cause them to be more popular.

(I'm trying to figure out how to relate what
you're saying to the "island rule" that's recently been in the news [washingtonpost.com]. When animal species
become trapped on islands with limited resources,
large animals tend to become dwarfed (dwarf mammoths) and small animals become huge (rats).
But what would be the "island" for modules, if any?)

The reason we've gotten away with using a lot of memory for so long is exactly because hardware is getting more powerful. In times of plenty, waste or resource usage is not an selection factor.But the time frames I'm talking about here are quite long. I'm looking at evolution of module usage over 3-10 year periods.

Memory does eventually become important, if only for a subset of people. (Think mobile phones)

I have one monstrous private application that uses 80-90 meg of RAM B to load, before doing any work o