I am exceedingly curious what you meant by this last line. If the answer needs to be tailored and is not fit for public discussion - drop me a line at ribasushi@cpan.org
]]>My question remains: What does 'WebService' add to the mix?
That's not how PAUSE or the Perl community works. Unless there's spam or some technical glitch, people are free to submit new CPAN modules in any namespace.
Jesse, it's a TV show. Of course it's ridiculous. I'm not trying to start a language feud. Simply adding a little hypothetical levity to the otherwise super serious world of programming.
]]>If your conversations about programming aren't about boring projects or clinical discussions of design patterns then you are lucky. That's the reason I started building my own companies and software; I was sick of having those conversations.
]]>Location
isn’t inheriting from anything then these are just functions masquerading as methods, obscured by the use of a special case of the arrow operator. Not sure what the big revelation is.If ECS is the actual revelation here, then that is a good thing to understand, but it’s also not a tool that can replace every application of OOP. It’s good for what it’s good for, and trying to use OOP for things where you really need ECS will be painful, but that doesn’t mean ECS is applicable everywhere OOP is. In fact it’s suited to a much smaller set of problems than OOP.
(And I sure wouldn’t rely on this syntactic variant of the arrow for an ECS design, much less view them as somehow synonymous or even related.)
]]>try {
Location::is_in( $character, $location );
Wallet::contains( $character, $credits );
Wallet::pay( $character, $amount )
} catch {
…handle error, rollback credit deductions etc…
} finally {
print $character->credits;
};
# ...
Wallet::debit( $character, $credits );
Wallet::credit( $other, $credits );
So I guess the insight here boils down to “you don’t have to have every callable available as methods on your objects, especially callables that apply to lots of different kinds of object – passing objects to functions is just fine”. The syntax doesn’t come into this at all, the most it does is to obscure it.
]]>