介绍五大基于JVM的脚本语言

开发 后端
本文主要介绍的是基于JVM的脚本语言,介绍了五个,分别是Groovy、JRuby、Scala、Fantom和Jython。希望对你有帮助,一起来看。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

能运行在Java的虚拟机JVM上的程序意味着有天然的跨平台性,现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等等,这里有一篇文章评论了在JVM上的可以运行的排名前五脚本语言。他们分别是:

1、Groovy。

构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,为Java开发者提供了现代***的编程语言特性,而且学习成本很低(几乎为零),在开发Web,GUI,数据库或控制台程序时,通过减少框架性代码大大提高了开发者的效率。支持单元测试和模拟(对象),可以简化测试。无缝集成 所有已经存在的Java对象和类库。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。

2、JRuby。

一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。

3、Scala。

一种多范式的编程语言,设计意图是要整合面向对象编程和函数式编程的各种特性。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。

4、Fantom 。

Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库。

5、Jython。

Jython由于继承了Java和Python二者的特性而显得很独特。其是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。

下面是一张表格比较了这五大JVM脚本语言:

五大JVM脚本语言

其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。

【编辑推荐】

  1. 谈JVM移植到ARM环境中
  2. 浅谈JVM
  3. JVM 命令行标志您不知道的5件事
  4. 详解JVM的内存管理机制
  5. 深入Java核心:JVM中的栈和局部变量
责任编辑:于铁 来源: 酷壳
相关推荐

2011-07-05 10:39:55

JVM

2010-07-26 15:50:03

Perl脚本语言

2010-02-26 09:33:51

Python脚本

2010-07-16 12:52:35

JVMJVM脚本语言Groovy

2011-07-06 16:54:44

ASP

2010-03-17 17:06:10

python脚本语言

2010-09-16 15:24:16

JVM结构

2010-07-14 17:03:52

编程语言

2009-06-10 08:41:15

Linux脚本语言

2021-06-11 10:02:39

语言编程开发

2009-07-23 13:23:47

开源游戏引擎

2011-08-16 10:03:45

Groovy编程语言Web

2012-06-02 01:41:00

GroovyJVMJava

2010-07-13 10:05:54

Perl语言

2024-03-12 12:05:57

2010-07-15 09:56:58

Perl语言

2019-06-04 10:40:07

2011-08-22 18:00:53

Lua语言

2009-12-24 09:19:48

JVMJRubyEngineYard

2010-02-24 14:04:32

Python脚本语言
点赞
收藏

51CTO技术栈公众号