Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^2: RFC: How to survive your first few months of Perl

by jplindstrom (Monsignor)
on Nov 12, 2008 at 14:14 UTC ( #723153=note: print w/replies, xml ) Need Help??

in reply to Re: RFC: How to survive your first few months of Perl
in thread RFC: How to survive your first few months of Perl

I wouldn't say Moose is too complex. It's a perfect fit for the problem it solves, and rolling your own accessors is bound to give a bad first impression of Perl.

Just stay away from Roles and meta programming and possibly even type constraints and it's very straightforward.

Type constraints might make people who already use explicitly statically typed languages feel less nervous though, so that might me another win.

However, once they have gotten into it, it's obviously important to know how "native" Perl OO works so they don't get lost in existing code bases.


  • Comment on Re^2: RFC: How to survive your first few months of Perl

Replies are listed 'Best First'.
Re^3: RFC: How to survive your first few months of Perl
by BrowserUk (Patriarch) on Nov 12, 2008 at 18:07 UTC

    I didn't say Moose was "too complex" of itself, just that it was too complex to do any sort of justice with a brief overview (amongst several other brief overviews) within a typical conference session.

    Personally, I think that Moose is far too complicated internally, and far too slow to risk holding it up as an example to Perl neophytes coming from compiled languages. They'll code up some simple hierarchal OO standard test--A genus tree or managerial hierarchy--run it twice and walk away. It even throws away the slim performance advantages that native Perl OO has over Ruby and Python.

    Performance may not be eveerything, or even a significant something for many people, but exagerating and exacerbating the compiled/interpreted differences by using an OO framework that enacts such a penalty, in order to achieve functionality that very few will ever feel the need for, just doesn't make sense to me.

    Class::MOP seems to see "Meta Object Protocol" as an end in itself, to the detriment of all other considerations. The docs do a good job of listing what it can do, but a pretty poor job of explaining why you would ever want to do those things.

    As an exercise in exploring what and how Perl 6 might work--hopefully without the penalties--it is an incredible piece of work. As a useful and usable piece of Perl 5 everyday wear, I have my doubts. Maybe Mouse, I haven't gotten to try that recently to see how it is faring.

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://723153]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2023-02-03 04:03 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (24 votes). Check out past polls.