I've been reading a lot about Moose lately, and I'm thinking it's about time I took it for a spin. The whole Perl world is all aflutter about it, so I'm sure everybody who's ever subscribed to a Perl-related blog has heard about it by now too. I haven't done a lot of coding in Perl recently, most of my stuff at work has been migrated to C# and most of the stuff I've been doing at home has been Parrot-related (C for the guts, PIR for the rest).
It's funny because I originally got into Parrot because of my overbrimming excitement for Perl 6. However, the more I got into Parrot, the less I seemed to be doing in Perl. Quite the irony!
I had been doing a lot of stuff at work with Perl, because it was quick and I could do great work with the database in a fraction of the time it took most other people to do. Then my boss decided that for the sake of standardization and interoperability that I should write my programs in the language that everybody else was using: Visual Basic.NET. Two words: "Hell No". The "upgrade" to VB.NET wasn't an upgrade at all and I basically hosted a little rebellion in order to switch to a language that felt less like building with legos and more like programming a computer. We argued for a good long while. It's amazing how vehement people were getting about wanting C++ instead of C#, especially when so many arguments in that direction were either baseless or blatantly false. Anyway, long story short I've been writing C# at work ever since, and I'm happy with it. I digress.
Prior to my C# work I've never really done a lot of OO programming. In school my work was all either assembly language, C, or MATLAB. Even though MATLAB is very high-level and has good OO support now, it was lousy in the OO arena back when I was in school. I took two courses in Java, one on basic "hello world" programming and one about datastructures+algorithms, but neither of those really dug into what it meant to be OO. I did a lot of my personal coding work in Perl 5, but let's face the fact that Perl 5's OO system is absolutely abysmal and I only ever wrote hideous Perl objects to avoid having to write hideous Exporter boilerplate everywhere and pollute my namespace. I also dabbled in Javascript, although I never really got into any of the OO features of that either, besides using classes as a way to separate unrelated stuff (also, I'm still not convinced that their implementation of classes is completely sane, but that's for a different post).
My work with C# has really taught me the value of OO (and it's also kindled an appreciation for strongly-typed languages). So I'm thinking to myself, what could be better then Perl 5 with a world-class OO system? Actually, the answer to that might just be "Perl 6 with a world-class OO system". So, as soon as I learn enough Moose to become functional with it, I want to start migrating some of my Perl 5 stuff to use it.
I'm looking for a good reference on the topic, preferrably a good book. I'm open to suggestions if anybody knows one, otherwise I'll pick up something from Amazon that looks like it has some decent non-computer-generated reviews.
Friday, April 24, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.