五大基于JVM的脚本语言
还记得以前本站的一篇文章《如何在Google App Engine上运行PHP》吗,其实那是借用 Quercus, 一个 100% 的用Java 实现的一个 PHP 引擎。今天,这样的东西太多了,能运行在Java的虚拟机JVM上的程序意味着有天然的跨平台性,现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等等,这里有一篇文章评论了在JVM上的可以运行的排名前五脚本语言。他们分别是:
Groovy。构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零),在开发Web,GUI,数据库或控制台程序时, 通过减少框架性代码 大大提高了开发者的效率。支持单元测试和模拟(对象),可以简化测试。无缝集成 所有已经存在的 Java对象和类库。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
JRuby。一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。
Scala。一种多范式的编程语言,设计意图是要整合面向对象编程和函数式编程的各种特性。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。
Fantom 。Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库。
Jython。Jython由于继承了Java和Python二者的特性而显得很独特。其是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
下面是一张表格比较了这五大JVM脚本语言:
Groovy
JRuby
Scala
Fantom
Jython
风格类型
OO / 动态
OO / 动态
OO, 过程/ 静态
OO / 静态
OO / 动态
源语言
Java
Ruby
N/A
N/A
Python
运行
编译型
编译型,<br/>
解释型
编译型
半编译型
编译型
平台
JVM
JVM
JVM
JVM, .Net CLR
JVM
Java集成
极好
极好
极好
好
极好
运行速度
好
好
极好
很好
慢
工具支持
广泛
还可以
广泛
几乎没有
几乎没有
其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
相信大家在上班的时候都要去浏览很多与工作无关的网页,但总是害怕被同事尤其是老板看到,所以,你总是会有个“老板键”什么的。当有人从你身边经过的时候,你会很快速地切换你的桌面屏幕,…
虽然我看不出她这是想写 C 还是 Python ,但是居然没有出现全角符号 count 看标题.py python ? 看一行 C ?看到第四行 namespaces C+…
想试试高网速就搞了一个联通 1000M 的网 路由器是华硕的 AX86U 装机师傅过来测网速都是 1000+M 的 但是自己用 PC 和 Mac 网线直插光猫测试下载速度也就…