views:

213

answers:

3

I've been using PHP for a while, but I'm growing tired of the sloppy/awkward Unicode support (among other things). Baked-in Unicode support is very important to me, since I despise debugging character encoding issues, especially between the database and scripting layers.

What languages work well with both Unicode and web development? Here are my criteria:

Unicode-friendly

  • Strings and their operations are multi-byte friendly by default
  • Unicode is the default representation

Web-friendly

  • Runs reliably in Apache or similar
  • Available on decent hosting providers
  • Can either be intermingled with HTML or is easy to template with

I suspect Python fits this description. Are there any others that are worth looking into?

A: 

Just having Unicode support does not help you a lot. What you should be looking for in the language is a complete framework from top to bottom that support multi-langual functionality. So the GUI supports rendering text either from top to boom, right to left, then boom to top. Then the rich text support and backwards compatibility with win32 API functions.

Web friendly depends on either you're focusing on either using commercial product off the shelf. This could be .net where you will need to purchase Microsoft's IDE and MSDN documentation to get the fullest out of the product. Without the MSDN documentation and the rich support and knowledge in the MSDN library you will be only hopping along slowly.

If your from the asia pacific region, you will want to be looking at other free alternatives. This includes Java for the programming language or PHP or even ruby on rails. Though the extent of those technologies and how far you can go with them really requires somebody specialized in those tool sets to respond.

So to sum it all up.

Just having UNI-Code friendly language is not the complete story. You need the framework to support this throughout the language or you will be constantly battling different 3rd party developers implimentations.

If you in the asia pacific and because of the bussiness over there and reducing price go with open source technologies this could be PHP or Ruby on rails. Alternativly if your in the Europe or UK, States your better off going and purchasing your developers Microsoft .net development platform and building your software on their technology stack.

Chad
What does being in Asia-Pacific have to do with free alternatives?
Jon Limjap
The quality of developer in Asia-Pacific from my experience with open source technology are both excellent and are about 1/10th the price of a western developer.Asia pacific developers tend to stay away from purchased development tools. just the nature of things over there.
Chad
As a New Zealander getting paid (almost?) 1/10 of what I would get from (eg) Google, I can safely say "Stop bitching". $1300 a year for MSDN is cheap as.
Simon Buchan
@Simon BuchanDon't wanted to sound like i was bitching. Though the reason why i did bring up Asia pacific is depending on the region and the social values and economics setting its better choosing different development stacks for different regions.
Chad
+1  A: 

I was going to say ASP.NET with C# but that might be a bit heavier than what you need. Besides, there are few Linux-based web hosts I can think of with Mono support, which rules out the availability, although if you don't mind running pure MS stacks, there are more than a few decent hosts that way.

Chris Charabaruk
+3  A: 

Python is almost exactly what you want, with two caveats:

1) Strings are not Unicode by default. Luckily, the major frameworks use the Unicode string type throughout. You just have to remember to use unicode(obj) instead of str(obj).

2) Hosting availability is still an issue. There are many hosts that offer WSGI (standard Python app <-> web server interface), and you can even get it to work if there's just CGI, but too many hosting services are still PHP-only.

John Millikin