[cgiapp] Class::MOP? Really?
Benjamin Hitz
hitz at genome.stanford.edu
Mon Oct 22 13:01:10 EDT 2007
Wow, your elegant argument has convinced me that all my issues are
irrelevant and I will switch immediately.
Ben
On Oct 20, 2007, at 2:33 PM, Ron Savage wrote:
> Ben Hitz wrote:
>
> Hi Ben
>
>> I am not a fan of inside-out objects in perl, because I have much
>> old code which uses old-style hash objects.
>> It's confusing to have two types (although technically usable).
>
> Your use of 'because' there is meaningless.
>
> Before someone adopts inside-out objects, /all/ their code is 'old-
> style etc'. And almost every line of code in CPAN is 'old-style'.
> So what :-)?
>
> This preponderance of old-style code, in itself, tells you nothing
> about whether or not inside-out objects are better, worse, or the
> same old same old. It simply means a vast amount of code was
> written before inside-out objects hit the big time.
>
> In other words, we use what we have learned. For those of us who
> are just about to try inside-out objects, without necessarily
> adopting them, it's a choice between conservatively sticking with
> old-style code or expending the effort to investigate something
> (inside-out objects in this case) which, if adopted, will actually
> require retraining the old brain a bit.
>
> This situation is similar to a job I've just applied for, where
> Perl Best Practices (PBP) is the mandatory way of writing code. I
> certainly won't have to make as many changes to adopt PDP as a lot
> of other programmers would (if I get the job), but I recognize
> there will be many little places where I'll have to stop and think
> about what I'm writing. And that's no bad thing, just an effort.
>
> And there's no escape from the fact that Perl, and software
> technology in general,
> are not static entities. They evolve, become more complex (perhaps
> unfortunately), and we can really only claim to be professional
> programmers if we are prepared to make some sort of effort to keep
> up-to-date (as distinct from mindlessly adopting the latest
> offerings from the loudest fanatics).
>
>> We have been converting our hand-rolled Database API to
>> DBIx::Class, which uses Class::Accessor (actually an extension
>> written for DBIC) called Class:Accessor::Grouped and Class:C3 to
>> dispatch.
>
> The fact that I prefer Rose to DBIC doesn't mean you should switch
> to copy me. Just investigate, cogitate, and choose the one you most
> like the look of. Before switching from Class::DBI to Rose, I read
> hundreds of msgs on the DBIC mailing list, but couldn't bring
> myself to feel enthusiastic about it.
>
> Adopting Rose required retraining myself, but after a very short
> while it just went Click! in a powerful way. So I asked myself -
> why is that? It's a feeling so it's difficult to articulate - but
> the word I now use is familiarity. Writing DBI code in Rose feels
> just like writing anything else in Perl. It (Rose) is a natural fit
> to Perl. But I'll say it again - just because it suits some of us
> doesn't mean it has to suit all of us.
> --
> Ron Savage
> ron at savage.net.au
> http://savage.net.au/index.html
>
> ##### CGI::Application community mailing list ################
> ## ##
> ## To unsubscribe, or change your message delivery options, ##
> ## visit: http://lists.openlib.org/mailman/listinfo/cgiapp ##
> ## ##
> ## Web archive: http://lists.openlib.org/pipermail/cgiapp/ ##
> ## Wiki: http://cgiapp.erlbaum.net/ ##
> ## ##
> ################################################################
--
Ben Hitz
Senior Scientific Programmer ** Saccharomyces Genome Database ** GO
Consortium
Stanford University ** hitz at genome.stanford.edu
More information about the cgiapp
mailing list