后将军——Scala - 快,多范例programmingJVM脚本语言。最初是在2003年发展成为一个研究语言。它经常被描述为一个多范例语言,因为它结合了不同的编程元素。其核心是一个纯粹的面向对象的语言(即,一切都是一个对象)的功能能力。Scala是一个在学术界流行的编程风格有利于职能,没有副作用(函数不改变函数的变量或其他国家使用),一流的功能(函数成为使用对象可以传递给其他函数),并尽可能多的使用常量的变量。在Java字符串不能被修改,但是Scala的任改变一在一个完全新的字符串创建现有字符串的结果是可以实现的。
函数编程的研究一直是一部分开发者最喜欢的领域,而Scala可能是函数编程的主流。它对传统的编程方法最大的好处是,它极大地方便并行编程——能够有一个程序的多个部分同时执行。随着多核心处理器成为了现代的标准,代表了并行编程的开发硬件的全部功能的好办法。为此,Scala在JVM中有独特的语言——另一个并行编程结构——内置到语言。
开发者在Scala这里享受过其他语言没有的快乐:奇异的性能优势。语言是编译为优化代码,运行速度基本上和Java没有区别。其余的语言远远地落后于Scala远远执行速度。
当然,Scala确实有缺点。其中第一项是有时不透明的语法,每一种语言都有用于生成坚不可摧的代码,但它更容易在Scala这样做。第二个问题是一个二进制兼容性,Scala的维护人员已经发布二进制兼容新版本。如果广泛采用,尤其是在企业开发里,把现有代码重新编译,以便能够与现在的代码兼容,这是Scala发展的一个巨大障碍。不过,对于Scala的好工具相继出现,以及社区的用户是积极和热情。我完全相信Scala会成为JVM语言里最棒的一个。
左将军——Fantom - Java和.Net的performanceJVM的脚本语言。它无论是在JVM或为微软的运行代码时都是少有的。与前面介绍的许多面向对Groovy和JRuby只是与Java库整合,Fantom语言也有对象相同的功能,而且是无缝的:一个特殊的界面交互,需要与现有的Java字节码替换,Fantom弥补了部分没有其自身丰富的代码库这一缺憾。
Fantom这种语言遵循其设计者的想法,最初制定他们的客户需要的实时软件包。Fantom这种语言设计者就像是Groovy的和JRuby的设计师一样,想使编码更容易。他们已经取消了相当数量的代码,但前面推入新的领域作出一些有趣的选择。
例如,所有的整数和浮点值是64位。这意味着,对于所有意图,对算术运算的结果不能造成溢出的领域限制。 Fantom还包括内置的并发——Scala只有对全面的并发这个共同特征的支持。该代码库已经很成熟了,很多语言认为按照Java和.net的标准API的模式是不守秩序。因此,Fantom的API是需要一个特定的功能,只有在Fantom那里才可以找到。作出Fantom网站出色的文件显然更加更容易。
像许多语言一样,Fantom对通过外部工具只有有限的支持。它唯一的IDE支持是NetBeans。这有可能改变为Fantom社区的增长和其独特的设计和跨平台特性变得更加广为人知。总体来说Fantom有点像马超一样,有点独!