Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

need to know before learning Moose,Catalyst,DBIx

by stephendavis (Initiate)
on Feb 04, 2014 at 06:54 UTC ( [id://1073319]=perlquestion: print w/replies, xml ) Need Help??

stephendavis has asked for the wisdom of the Perl Monks concerning the following question:

I have a fair knowledge of Perl. I do not know OOPs. I am planning to learn Moose, Catalyst, DBIx etc. What are the 'need to know' before I start learning the above things? and is there something else also which I should be learning other than this? All suggestions are welcome.
  • Comment on need to know before learning Moose,Catalyst,DBIx

Replies are listed 'Best First'.
Re: need to know before learning Moose,Catalyst,DBIx
by kcott (Archbishop) on Feb 04, 2014 at 07:11 UTC

      I might catch a bit of flack on this, but I would add that having a basic understanding of how to roll your own objects using classic Perl objects can give one a better understanding of and appreciation of just what Moose (and similar packages) are doing for you.

      It helps to remember that the primary goal is to drain the swamp even when you are hip-deep in alligators.

        Well, I'm not going to give you any flack over that comment; however; the tutorial I linked to does cover that:

        "In addition, plenty of code in the wild does all of its OO "by hand", using just the Perl built-in OO features. If you need to maintain such code, you should read perlobj to understand exactly how Perl's built-in OO works."

        -- Ken

Re: need to know before learning Moose,Catalyst,DBIx
by kcott (Archbishop) on Feb 04, 2014 at 08:31 UTC

    An additional resource, that I just came across by chance, may be worth a look.

    In http://learn.perl.org/books/, I found "Beginning Perl (2012)", by Curtis "Ovid" Poe. The description includes:

    "Using tools such as DBIx::Class, Catalyst, Moose, Plack, and many others, this book teaches you the technologies that employers are asking for, but assumes no prior knowledge of Perl."

    -- Ken

Re: need to know before learning Moose,Catalyst,DBIx
by davido (Cardinal) on Feb 04, 2014 at 21:04 UTC

    Learning Moose, Catalyst, and DBIx::Class all at the same time is like trying to learn Calculus and Number Theory at the same time as Algebra. Catalyst is an advanced application of object oriented design. DBIx::Class is also an advanced application of object oriented design. Moose is a framework for implementing object oriented design. And to understand Moose, you probably should have some basic understanding of Object Oriented programming.

    You can probably pick up many of the principles of Object Oriented programming while learning Moose. But I would try to get a handle on those two things before moving on to DBIx::Class, and Catalyst.

    The O'Reilly book, Intermediate Perl, and the book Modern Perl (free and purchased editions available) provide fairly good introductions to the basics of object oriented programming, as well as the use of Moose. There's plenty of room for more advanced concepts later, but they will get you started down the right path.

    Once you're fairly comfortable with the basics of Object Oriented work with Perl, you will be much better equipped to comprehend DBIx::Class, and Catalyst. There's a book, The Definitive Guide to Catalyst that actually features a chapter on DBIx::Class, as well as additional discussion on Moose. The DBIx::Class manual is also very good... and eventually there's no way around it; you've got to read it.

    For Catalyst... well, first, why Catalyst? I understand, that's what big business uses, but it may be a gentler introduction to MVC frameworks to start with Mojolicious or Dancer. And you may find that one or both of those fill all of your needs without ever diving into learning about the 700 pound gorilla, Catalyst. Nevertheless, The Definitive Guide to Catalyst is a pretty good book. When you do feel ready to dive into Catalyst, the Catalyst Manual is your starting point.


    Dave

Re: need to know before learning Moose,Catalyst,DBIx
by stephendavis (Initiate) on Feb 05, 2014 at 05:11 UTC
    Thank you all for your feedback. So I have to start with OOPs..
    Perl Obj or Perl OO Tut Or Intermediate Perl ....??

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1073319]
Approved by kcott
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2024-04-25 23:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found