对于Web开发,Web框架的选择与语言一样重要。 Ruby有Rails,Python有Django,C#有ASP.NET MVC。 Java有Servlets/JSP/JSF/Struts,但我没有发现它们与以前的选项一样富有成效或吸引人。 PHP/Perl对于创建简单的CGI网页非常有用,但它们并没有真正具有领先的Web框架。
如果您关心的是性能,那么您可能不想使用解释型语言。这排除了直接的Ruby,Python,Perl,PHP。当然,您可以获得针对JVM或.NET运行时的这些语言的“编译”版本,例如:
- 的Ruby:JRuby的,IronRuby.NET
- 的Python:Jython的,IronPython.NET
- PHP:Phalanger
微博开始了作为一个Ruby店(他们大多仍是)除了现在他们已经在Scala中重写了其Web应用程序的关键性能部分(一种现代功能,如针对JVM的语言)。
因此,您可以使用C#/ .NET或JVM目标语言(如Scala,JRuby或Jython)。
作为一名C++程序员,尽管您可能也对'Go'感兴趣(参见golang.org)。它是一种简单的现代编译语言,具有垃圾收集功能,本地支持并发性,并且由Google发明了非常快的构建时间(包括Rob Pike和Ken Thompson是Unix的父亲之一)。
您可能还想看看nodejs.org,这是一种闪亮而新颖的Web技术,它使用Java脚本完全异步,快速且高度可伸缩,并且运行在Google非常快的JavaScript引擎V8上(与Chrome中使用的相同) 。
我不会太在意性能,尽管它可以用更多的硬件来解决 - 对于您的应用程序来说更重要。 Google使用了很多Python和Java,而Facebook和Yahoo使用PHP。堆栈溢出使用C#和ASP.NET/MVC(这恰好也是我的首选)。
此外,如果您关心免费托管您的Web应用程序而不是检查Google App Engine,它将托管您使用Python或Java免费开发的应用程序。
尽管大多数Web应用程序都需要JavaScript,但仍有诸如Google Web Toolkit(http://code.google.com/webtoolkit/)和睡衣(http://pyjs.org/)等解决方案。将其他语言编译为JS。 – 2010-02-13 22:34:14