Ruby, Rails and Unicode

As a software architect for EMC, I’m concerned with the global reach of what I build–employed technologies must support internationalization and subsequent localization in multi-byte locales (i.e. just supporting single-byte strings or Latin-1 locales is unacceptable). Per “How To Use Unicode Strings in Rails“: Rails currently defers its Unicode support to Ruby, which currently only supports single-byte strings.

EMC’s content management and archiving software fully supports Unicode from top (presentation) to bottom (storage). It must continue to do so per customer demand and requirements.

So why even dip a toe into the Ruby/Rails pool?

First, Rails-based applications exist that support UTF-8. That isn’t to say that native support in Rails or Ruby is where it needs to be–it is not, yet–but rather to counter some of the hype you’ll find on the Web (i.e. there is none whatsoever). I appreciate Obie Fernandez’s InfoQ article on this important concern. As long as Unicode support isn’t robust and native, I have to give Ruby et al a ding in the non-essential complexity column. C# and Java fully support Unicode; Ruby needs to as well–the sooner the better.

Second, my focus on Ruby et al is to improve my software “thinking” in general. By complementing my C# and Java knowledge with Ruby, I hope to improve how I approach architecture, how I implement design, etc. Certainly this cuts both ways–C# and Java have things that Ruby could potentially benefit from adopting–but I believe that Ruby has concepts to offer me uniquely at present.

I’m reminded of Ajax as I approach Ruby, too. When I posted on “scrubbing bubbles,” I pointed out a set of concerns to combat Ajax-as-panacea hype. Some of those concerns have been or are being properly addressed by the community, while others still remain. I’m optimistic that Ruby’s issues like proper I18N support will be addressed by its community, too.