Tuesday, February 27, 2007

POCOs, POROs, POGOs, Oh my!

In reading this ServerSide.NET article about Gigaspaces extending itself to "plain C# objects", I realized that Plain Old C-sharp Objects (POCOs) or Plain Old C-Sharp Objects (POCSOs) hadn't passed into .NET vernacular yet.

Far be it from me to stop progress. So unless one of you can show me some prior art (Google search didn't turn up anything obvious), I hearby coin POCOs and POCSOs, for .Netians everywhere.

And while I'm at it, I think I'll swing for the fences and coin Plain Old Ruby Objects (POROs). Take that, Parsons, Mackenzie and Fowler!

I'm tempted to go for a hat-trick and choose a third language. How about POGOs for Groovy?

UPDATE: I've had to cancel the patent applications. Looks like POGOs and POROs have prior art, and POCOs are just PONOs revisited. Clearly I'm just not hep to the language you kids are talkin'.


Guillaume said...

We've used the acronym POGO for a long time in the Groovy community :-)

Geoffrey Wiseman said...

Darn it; that was the last one I "invented", so I didn't google it. :)

Ok, I'll grant your prior art on POGOs reluctantly (the name was much more fun than the others).

Geoffrey Wiseman said...

Just occurred to me to check for PONOs (.NET objects), and sure enough, that's the term that people use.

Guess I'll have to cancel my patent applications.

Andres Almiray said...

Wait, you can still apply for Python, or Perl or PHP or... hmmm on second thought, no. :-)

Reginald Braithwaite said...

Each Ruby object is clearly a POROU, a Plain Old Ruby Object: Unsealed because we can dynamically add or remove methods and instance variables.

Given this lack of safety, it is no surprised that using several of these is porous.