Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Reflections on the design of a pure-Moose web app...

by sundialsvc4 (Abbot)
on Mar 23, 2009 at 19:39 UTC ( [id://752694]=note: print w/replies, xml ) Need Help??


in reply to Re: Reflections on the design of a pure-Moose web app...
in thread Reflections on the design of a pure-Moose web app...

The “ah ha” is not so much the idea, but how cleanly Moose (and Moose roles) allowed that idea to be expressed in Perl. The speed and reliability of the development was also a nice big win.

(Knowing that Perl-6 will be plowing the same furrows, was also nice.)

Yes, you're right:   there aren't so many great new ideas in this world; just good, serviceable implementations of them that are found to be suitable to a particular occasion.

To say that “a very great deal of” programming is devoted to representational-changes ... that is an understatement! I've dealt with many applications that were positively tied-into-knots not only by the data representation but by its architecture. Apps (especially web apps built by amateurs in Drupal ... ;-) ) just sorta “start down the primrose path” of what is euphemistically but accurately called CRUD, evolving without a particular plan until ... wham! ... someone, for a perfectly legitimate and important reason, needs to restructure the database. You know the drill.

We all talk about “object-oriented programming” and data representations, and of course I'm very much talking about the selfsame thing here. The implementation was fast and clean and reliable, partly because so much of it could be “out of sight out of mind,” and these design ideas, instead of making the code-modules cruftier and more complicated, actually improved< them. I could have done the thing in “traditional Perl,” but this was, in my opinion, substantially better.

Replies are listed 'Best First'.
Re^3: Reflections on the design of a pure-Moose web app...
by BrowserUk (Patriarch) on Mar 23, 2009 at 19:58 UTC

    Did you find a (publically accessible) simple starting point for your architecture, or did you evolve it yourself? (If not, would you consider writing one? :)

    The whole thing sounds very interesting (despite my "non-WEB programmer" status), and I'd love to dig around in the guts of a simple but complete example of what you've described.


    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.

      I would not say that any of these ideas are in any way new, but I really was pleased with the smoothness of this particular Perl implementatation (that is to say, Moose).

      Well, I do admit that I am somewhat the “gruff old programmer” in that I hadn't really used roles and such too much before... But that's what I like about this business:   always something new.

      I'm pondering what would be the best way to “spread the love.”  ;-) ;-) A gzip?

      And, hey guys... I'm not really trying to “toot my own horn” here! When something works, I want to share. Likewise when something really screws up, you all know that I “share” that, too! Am I, like, “the first?” Aww, heck no...   :-/

        For my part I love to read about real uses of new(ish) technologies (Moose & Roles).

        And if you can make a gzip of some working (preferably not to huge), code available, I for one would like to take a look.

        One of the problems with these kinds of technologies is that unless you have a real world use case for them, all you get to see are cutesy examples that are generally very unconvincing.


        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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2024-04-23 15:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found