On Wed, May 06, 2009 at 11:27:05AM -0700, Bill Ward wrote: > 1. Not every module you're using will be Moose-based, so if you're working on > one of those, you'll need to remember to switch back and forth. It's bad > enough having both (Perl's approximation of) OO and procedural calls.
If you're *using* a module, why do you care what its implementation is? It's not like Moose classes name all their methods 'call_moose_method_foo', or have constructors named 'NEW', or something. I regularly work on codebases that use both Moose and non-Moose APIs, and I don't see any 'switching back and forth' related to that. (Sometimes the non-Moose classes have dumb API design, and I have to remember that this particular method has bizarre error condition signalling, but that's orthogonal to Moose or not.) It's certainly nothing like method calls vs. function calls. Have I misunderstood you? > 3. If I am going to change languages, I'd rather switch to Ruby or Python. If Moose somehow precluded your use of non-Moose Perl code, this would be relevant. hdp.