大师James关于Java和流行脚本语言相互比较的说话。只是其中没有明确提到Perl,很是让我郁闷。
Yakov Fain:在世界上有许多不同的语言。有些人在说一些新语言的出现会对Java构成威胁,你认为呢?
James Gosling:不,我不这么认为。最近出现的大部分语言都是脚本型语言,例如:象PHP和Ruby,这些都是完美的系统。它们的强大是因为经过了特殊的处理化,因此所有这些人们谈论的令他们今天很兴奋的语言都仅仅是用来产生Web页面的。因此你们只是想生成一个网页,他们会做得很好。但是在应用领域别指望它们能有更大的做为,因为他们都有严重的性能问题。在所有这些动态语言中,如果你试着用它们编写一些对执行有严格要求的东西,那么它们都会可怕地失败。如果你写一个语句a = b + c,在性能差异上,Java与PHP相比可能完全一样。它们真正优良的地方在于它们都专注于一个领域,他们会使在那个领域的编程更加简单。我们一直在做的就是在工具之外获得更多的简化,我们做了大量的工作来达到简单性和功能强大性之间的一个平衡点。他们彼此之间是相互依存,相互排斥的。构建具有强大功能的系统,恰恰要有几分复杂性。正是因为这样,世界才相互联系,极大地帮助你运行的系统有了可以延续的框架。利用PHP,你能将Web表现层的内容做得很好。你不要用PHP去写一个星际导航的类库。这个它做不到。
另一个与之有关的就是Microsoft的C#。很难在一个水平上批评C#,因为他们就是拷贝了Java规范。那是我们担心他们会做出一些创新的东西的时刻,但他们没有,他们没有选择借鉴。很明显,他们只是集中于一个开发平台。
我们尝试和所有的这些语言一起工作。我们知道有许多人在谈论Java与X相比或Java与Y相比如何如何。我们在努力工作来保证Java与PHP或Java与Python相结合在一起。这样你能用PHP做Web的表现层。许多的人用PHP做Web的表现层,用Java来做分析部分的工作,因为Java在做高质量的分析工作方面真的是太棒了。
基于以上的分析, Ruby、PHP、Python等脚本语言想要超越Java和.Net,困难挺大的。就我个人而言,我喜欢编程语言的多样性,欢迎Ruby、PHP、Python等脚本语言的流行。因为它们会促进新思想和新语言的诞生。那么,十年之后能替换Java、.Net的语言会出现吗?如果出现这样的语言,会是Ruby、PHP、Python等脚本语言吗?或者是一门新的X语言呢?我的回答是一切皆有可能。
1