`
123003473
  • 浏览: 1060236 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

五大基于JVM的脚本语言【转载】

    博客分类:
  • java
 
阅读更多
还记得以前本站的一篇文章《如何在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
运行 编译型 编译型,
解释型 编译型 半编译型 编译型
平台 JVM JVM JVM JVM, .Net CLR JVM
Java集成 极好 极好 极好 好 极好
运行速度 好 好 极好 很好 慢
工具支持 广泛 还可以 广泛 几乎没有 几乎没有
其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。

【转载地址】http://coolshell.cn/articles/2631.html
分享到:
评论

相关推荐

    一款基于JVM的脚本语言代码.zip

    一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码....

    magic-script是一款基于JVM的脚本语言.zip

    magic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zip

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计。magic-api,接口快速开发框架,通过Web页面配置,自动映射为HTTP接口;spider-flow,新一代爬虫平台,以图形化方式定义爬虫流程,不写代码...

    基于JVM的编程语言loop.zip

    Loop 是基于 JVM 的编程语言,提供了函数编程特性,简单有趣。Loop 强调可读性、简洁、清晰,侧重于性能和并发性。 示例代码: greet(name) -> "hi, @{name}!" 'Zaphod Beeblebrox'.greet() 标签:loop

    JVM动态编程语言Soya.zip

    Soya是一门基于JVM上的动态编程语言,现在已经开源 它的特点是  直觉的: 简洁易懂的语法能让您舒服地完成日常所需  OO的: 一切皆为对象  函数式的:提供了必包、柯里化等函数式支持  强大的: 模式...

    编译性语言、解释性语言和脚本语言

    计算机编程语言根据其工作原理和执行机制,主要分为编译性语言、解释性语言和脚本语言。这三种类型的编程语言各有特点,适用于不同的场景。 编译性语言,如C、C++、Objective-C和Fortran,它们的源代码首先需要通过...

    java-annotations,基于jvm的语言的注释。.zip

    Java注释在编程世界中扮演着重要的角色,尤其是在基于Java虚拟机(JVM)的语言中。Java注释是一种元数据,允许程序员向源代码中添加非执行信息,这些信息可以被编译器、IDE或其他工具读取并用于各种目的。在Java中,...

    renjin, 基于JVM语言的R 语言统计分析.zip

    renjin, 基于JVM语言的R 语言统计分析 简介Renjin是一种新的用于统计计算的 R 语言,构建于Java虚拟机上。项目的主要目标是提供一个代替,替换的现代解释器,但更容易与它的他系统集成。有关更多信息,请访问 ...

    JVM-SANDBOX基于JVM的实时无侵入AOP框架容器

    **JVM-SANDBOX:基于JVM的实时无侵入AOP框架容器** JVM-SANDBOX是一个强大的工具,它允许开发者在Java虚拟机(JVM)上实现无侵入的面向切面编程(AOP)框架,提供实时监控和干预应用程序的能力。这个框架的核心在于...

    Java语言规范和JVM规范官网文档

    Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的行为。本压缩包包含了Java6至Java9的版本,涵盖了一系列重要的语言和虚拟机改进,对于Java开发者来...

    kalang:基于jvm的另一种程序语言

    Kalang是基于jvm的静态类型安全语言,具有灵活的语法。 特征 强大的脚本模式 自动类型 依赖管理器集成 静态类型安全 灵活的语法 与其他基于jvm的语言兼容,例如java,groovy等。 安装 对于Linux / Mac用户: wget -...

    Terrocotta - 基于JVM的Java应用集群解决方案

    Terrocotta - 基于JVM的Java应用集群解决方案,参考文档

    基于jvm-sandbox-repeater重新开发的一款流量回放平台产品

    Moonbox(月光宝盒)是JVM-Sandbox生态下的,基于jvm-sandbox-repeater重新开发的一款流量回放平台产品。在jvm-sandbox-repeater基础上提供了更加丰富功能,同时便于线上部署和使用,更多对比参考。 使用场景 你...

    jvm线程持续监控脚本

    jvm线程持续监控脚本

    java脚本编程

    尽管Java本身不是脚本语言,但有许多脚本语言可以在Java虚拟机(JVM)上运行。这些语言通常称为JVM脚本语言,它们利用了Java的强大功能和丰富的类库,同时提供了更灵活的语法和快速开发的能力。 ### JVM上的脚本语言 ...

    JVM-Sandbox,基于jvm的实时无创aop框架容器.zip

    JVM-Sandbox是一个开源项目,其核心理念是提供一个基于Java虚拟机(JVM)的实时、无侵入的面向切面编程(AOP)框架容器。它允许开发者在不修改原有代码的情况下,对运行中的Java应用进行动态的监控、拦截和处理。...

    java-annotations:基于JVM的语言的注释

    基于JVM的语言的注释 一组Java注释,可以在基于JVM的语言中使用。 它们作为附加文档,可以由IDE和静态分析工具进行解释,以改进代码分析。 | | 文献资料 适用于旧版Java 5.0兼容软件包的 使用注释 注释发布在。 要...

    jvm-mon基于控制台的JVM监视

    【jvm-mon基于控制台的JVM监视】 `jvm-mon`是一款实用的工具,它允许开发者通过控制台界面实时监控Java虚拟机(JVM)的状态。在Java开发过程中,性能分析是至关重要的,因为良好的性能能提升用户体验,降低服务器...

Global site tag (gtag.js) - Google Analytics