|Think about Loose Coupling|
“Downvoted” though my comments were ... I at least did not lurk behind “Anonymous Monk” to say them. (heh ...)
Will, the root problem of your “grand pronouncement,” just like every graduate-student (or senior undergrad) who has “created a New Programming Language, accompanied by A Paper Extolling Its Superiority to Everything That Has Come Before,™” is simply that this really isn’t a terribly useful thing to have done. Let me explain.
“An implementation of the Perl-5 programming language,” on my present machine, “sub-optimal” though it may be, occupies all of about 86 kilobytes of object-code. On the other hand, the CPAN library of the system is about 96 megabytes. And the client project library, as previously mentioned, is more than a million lines of custom-written code which in fact cost well more than a million US Dollars to produce. This situation is hardly atypical.
Therefore ... in light of this, how fare your “commandments?” Frank answer: “not so good.” Because they not only “demand” that I change, but “require” me to change ... and to reap what “benefits,” exactly? Just in order to “Soak In The Goodness™ Of” whatever you have done. Is this a cost that I can justify? No, it isn’t.
Sure, “new code” is being written all the time, and so all of us are always clamoring for improvements. But none of us can afford to de-stabilize, let alone change, “what has been done before.” And this is very much what has made some of the truly-innovative “hacks,” like Moose, be so successful and widely-accepted. It was “a significant improvement” that you could take advantage of with relatively low business risk. It’s not simply that you can use Moose;. It’s every bit as much, if not much-more, that you can also say: no Moose;. You can mix the old with the new.
In reply to Re: Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments