Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^4: Stop suggesting to upgrade perl

by boftx (Deacon)
on Sep 03, 2013 at 08:24 UTC ( #1052032=note: print w/replies, xml ) Need Help??

in reply to Re^3: Stop suggesting to upgrade perl
in thread Stop suggesting to upgrade perl

I submit that the fact that one can install Moose or code the equivalent of //= in Perl 5.8 (I am not sure just how early a version of Perl can support Moose) indicates that there is nothing fundamentally new about what is being introduced.

Replies are listed 'Best First'.
Re^5: Stop suggesting to upgrade perl
by Tux (Abbot) on Sep 03, 2013 at 11:42 UTC

    But increased readability increases maintainability. IMHO the equivalence of

    sub fexists (-f $_[0] ? $_[0] : undef); my $file = fexists ($p) // fexists ("$p.exe") // fexists ("$") // +;

    would involve lexical copies and a huge chain of defined ($x) ternaries.

    So yes, many new features were doable in older versions, but they were ugly and error-prone.

    I myself do NOT like OO programming. I need to understand how perl does it when dealing with modules that have no non-OO alternative, like DBI and Tk, but I still prefer to program non-OO myself. Moose however makes the threshold to actually *use* OO in perl in a way that does not constantly irritate me a lot lower (if it does take away the threshold at all). That on itself is worth considering, as that also makes the language more open to newcommers. OO-programmers get a head-start with Moose over the available OO techniques that the CORE has available.

    Enjoy, Have FUN! H.Merijn
Re^5: Stop suggesting to upgrade perl
by chromatic (Archbishop) on Sep 03, 2013 at 16:31 UTC
    ... there is nothing fundamentally new about what is being introduced.

    That's true, but what does it matter? There's nothing I can do with say I couldn't do with print, but say is more convenient. There's nothing I can do with Moose I couldn't do by hand, but it's more readable, shorter, and easier to use.

    As I see it, a feature that makes it more pleasant to write code, easier to write correct code, and simpler to understand code is a benefit, even if that feature adds nothing fundamentally new from a CS perspective or a UX perspective or whatever theoretical perspective you prefer.

    (That's part of my gripe about P6. It adds a lot of nice newish features that probably meet your criteria for fundamental newness, but it's failed to deliver anything practical directly for my uses in 13 years. It's only due to the hard work of people working on things that aren't P6 that we have anything at all practical from the effort.)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1052032]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2018-02-18 19:00 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (256 votes). Check out past polls.