4 ms·
One of the factors which lead to Perl's decline is there are too many ways to do it :-) This is fine for a lot of stuff, but somewhere in the 2000s, it became
by warpspin 6y ago
One of the factors which lead to Perl's decline is there are too many ways to do it :-)
This is fine for a lot of stuff, but somewhere in the 2000s, it became increasingly annoying you could not properly use Perl's biggest value up to that time, CPAN, anymore, because when you brought in 5 dependencies, you ultimately had 5 different object systems, 15 type validator libraries, 5 different time libraries and probably 20 different exception systems in your project, all happily eating away at your memory and your sanity.
This is still a major problem today, where you basically cannot pull anything from CPAN anymore without the smallest package requiring a different fat object system.
A lot could have been avoided by early on building a proper standard library delivered with the language, but instead at that time Perl delivered a lot of obsolete cruft, simply because it always was part of Perl, instead of real basics.
That's at least my take on things. Though of course, npm proves many people do not give a damn about overly long dependency lists, so maybe it's just what I personally dislike about the direction Perl has taken.
- pansa2 6y ago> 5 different object systems This is an issue in Lua as well. The language is unopinionated and designed to offer “mechanism, not policy”, meaning you can design your own object system based on the language-provided primitives. The problem is that everyone does design their own object system - and they’re all different, with no interoperability.
- daotoad 6y agoThis was a huge pain in the neck. The rise of Moo/se has helped somewhat. Back in the day there was that horrible trend of using "inside out" objects that would let you reliably subclass something without knowing it's underlying module system. Ovid's Cor project has some really great work on specifying a default OO sytem for Perl 5 (or maybe 7). https://github.com/Ovid/Cor/wiki https://github.com/Ovid/Cor/wiki
- deleted 6y ago[deleted]