http://www.perlmonks.org?node_id=961360


in reply to Measure twice, cut once

But it's mainly a strike against shoving new features into the language without considering their consequences.

What do you mean by strike?

I've had eew experiences since 5.6, and with every new feature I try I'd always find something that doesn't quite work as documented, or isn't well documented, and I just end up not learning it, and doing things the way I've always done them.

For better and worse, Perl is a mature platform (like ANSI C), and should act it.

What does that mean?

For example a lot of the new regex features are really under documented and under tested, but they're really powerful, and if we waited for more thought/testing/docs they probably wouldn't have been added for another 5 years, even though a lot of them are still considered experimental

I think any new features ought to be experimental for at least 3 releases (5.6,5.8,5.10) and implemented only using Devel::Declare

I'm also in favor of ditching all the warts, if JavaScript can do it ... :)

Replies are listed 'Best First'.
Re^2: Measure twice, cut once
by educated_foo (Vicar) on Mar 24, 2012 at 07:48 UTC
    What do you mean by strike?
    As in baseball -- "3 strikes ends your turn at bat."
    What does that Perl being a mature platform mean?
    It means that people build applications in Perl (as in C), and expect to only very rarely have to change them. Computing works because of mature platforms. If chip-makers decided on a whim to use ternary logic, or Intel to adopt an entirely new instruction set, or the C committee to call Ada95 "C2012" (and the GCC and Clang and MSVC maintainers agreed (there's only one Perl)) we'd all be hosed. Fortunately, they don't, so C, x86, and binary data storage are "mature platforms."