在 web 开发中,这些语言各有各的优势和缺点。并且一个网站选用什么语言开发,在很大程度上取决于初创人员的个人偏好或者自己技能,这些语言在一些小的项目上都不是问题,基本可以实现和满足你的任何需求。但是当网站到达一定的规模以后,更容易突显出来的就是各自的缺点了。你可以看一下知乎的这个问题:京东今天还在用 .NET 架构的原因是什么?http://www.zhihu.com/question/19818863,这个问题很大程度上能够反映现在项目在已知某些技术存在重大问题却仍旧无法改良的原因。必定,并不是每个公司都是 Facebook。
这时候,一种语言或技术已经很难满足需求了,这就需要各种语言、技术的柔和和共用。你可以看一下这篇介绍 Facebook 系统架构的文章。
PHP 得益于准入门槛低,所以几乎看不到消亡的迹象
Python 社区现在主要的组成为 PHPer 和计算机初学者,有可能蚕食部分 PHP 的市场
在 Python 容易入门的压力下,Ruby 很难普及开来,鉴于其代码的优雅和优异的文本处理能力,完全可以秒掉 Perl 已有的市场
未来注定是 Ruby 的,但这个未来有多久也还只是个未知数
语言并不重要,重要的用好一门语言。再美的语言也会写出丑陋的代码
觉得<笨办法学 Python>的'老程序员的建议'讲的挺好的, http://learn-python-the-hard-way-zh_cn-translation.readthedocs.org/en/latest/advice.html
我对 Ruby 的未来是很有信心的,其 Metaprogramming 的强大产生了各种方便的工具,Rails 只是一个例子,还有其他各种 DSL 工具比如 Grape,这些都会加速产品的开发,在注重开发效率的新兴企业中将会受到欢迎。
Python 的优势是已有成熟的科学相关类库丰富,不过社区分裂,语言版本 Roadmap 不明确。对于 metaprogramming 的支持不如 Ruby 好,导致很多魔法缺失。
个人感觉 Rails 的最大地方就是 魔力无限,魔力的最高境界就是,开发框架的人用了终极魔法,用框架的人却感觉不出来魔法,而是很容易的上手用了。比如 has_many, 用起来很自然,却添加了很多背后的魔法,同等的例子在 JAVA/SSH 里面无论是 xml 还是 annotation,用法都是很别扭的。
而 Ruby,正是这些魔法的真正来源。我个人认为这就是为什么 Rails 一直被模仿,从未被超越的原因。
PHP,不评论。
另外,Ruby 2 的临近,ISO 标准的定制,都将更好的为 Ruby 未来铺路。
Performance 的问题我认为已经不是主要问题了。CPU 处理能力的发展速度远远超过语言性能的改进速度。
10 年前还有人讨论 Java 性能如不 C/C++, 可能现在 Java 性能还是不如 C/C++ 不过没人在意了。
现在的趋势更是 Scalability > Performance.
未来 JavaScript 一统天下、武林至尊,不管是用在 web 前端的还是后端的,还是桌面的 APP,还是 server,还是数据库查询语言,甚至操作系统(参照 Open webOS)等等,通吃了,前途无量