views:

41

answers:

1

I'm looking for input on what to use for creating web services that my mobile application will consume. I have been programming in Microsoft shops for the past 15 years but I would really like to expand my horizons a little bit. I'm torn between leveraging my Microsoft experience, and picking up something new that all the kids are doing these days. If I'm going to learn something new and use it in a production environment, I would like to get input from coders and not marketing departments.

So, can you give me your recommendation for the following technologies, and why you recommend them?

  • Web server
  • Language
  • Database

I realize this could be a contentious question, and is very subjective. But I think this is exactly the forum for this question, with its eclectic community. So, keep it professional and constructive.

+2  A: 

Web server: Apache for features, Lighthttpd or one of its equals for speed. If your applications are simple enough and don't require HTTP, you can use a hand-rolled server or RMI or its like. There is no contest at all between IIS and Apache. The only thing IIS has going for it is integration with things like Sharepoint and ASP.NET.

Language: This is really a personal choice. PHP is very unstructured but easy to use. Ruby is the new kid on the block and has many advantages, but its internal code is very messy (I've been there, this is my personal opinion) and it has little version-to-version stability (the current recommended version is a snapshot!). Perl has huge library support but the popular opinion of non-Perl-devotees is that it can be clunky. Python is nice but not as appropriate for a web service. C# you probably already know. Friends don't let friends do VB.

Database: Use something SQL unless you've got ridiculous performance needs. Microsoft SQL is extremely RAM-hungry; if you try MySQL you'll be amazed how much lighter it is. PostgreSQL has more features. I don't think many people would recommend Oracle if you're not representing a large company. I'd say start with MySQL and branch out if and only if you find it insufficient in some way.

Borealid
I can't believe I've only received one response. Maybe your response is just so good that no one thinks anything more needs to be said.
Drew