Skip to content

Comment on "this gem is awesome".to_spanish # = "esta joya es impresionante"parent

Comments

http://code.google.com/p/gtranslate-api-php/

$gt = new Gtranslate; echo "Translating [Ciao mondo] Italian to English => ".$gt->it_to_en("Ciao mondo");

I think your example demonstrates very well why one would yearn for Ruby. The ability to give an extra method to a base class allows you to build very expressive code.

edit: and, BTW, the to_spanish method is not defined in the https://github.com/jimmycuadra/to_lang/blob/master/lib/to_la... module.

You're quite right, but in all fairness, the following would be a saner interface in php:

    italian_to_spanish("Ciao mondo");

Even boring old C# can do that.

Not true. That's just a compiler trick

But still not as elegant as: echo "Ciao mondo"->it_to_en(); would be.

It's only elegant until you have two libraries which want to add `foo` to a `Bar`. Then you're in the world of pain compared to writing `lib1->foo($myBar);`

Actually I agree, I'm rather against giving programmers ability to extend native objects at free will, but I'm still for strings being objects in PHP, or even having "everything-is-an-object" approach there.

I'd rather have the common case be gorgeous and have the uncommon case require a some workaround, than have every case look like crap.

Thank you for proving my point.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.