`
bluky999
  • 浏览: 720294 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java虚拟机上的脚本语言

    博客分类:
  • Java
阅读更多

在脚本语言、函数式语言纷纷成为后起之秀的时代,让我们总结一下Java虚拟机上的脚本语言吧!


List:
Groovy,Scala,Jython/python,JRbuy/ruby,BeanShell,CAL,Quercus/PHP,Rhino/JavaScript



1 Groovy
http://groovy.codehaus.org/
http://groovy.codehaus.org/Chinese+Home


Groovy就像Java的一个特别版本,除拥有Java企业级应用的性能及能力之外,也透过像闭包、动态类型、灵活简洁的语法、许多Builder工具等特性使其拥有很Cool的生产力。如果你是一个开发者、测试者或者脚本爱好者,你一定会喜欢Groovy。

  •     *  是一个基于 Java虚拟机的敏捷 动态语言。
  •     * 构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征。
  •     * 为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。
  •     * 支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。
  •     * Goovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变的非常简单。
  •     * 在开发Web,GUI,数据库或控制台程序时 通过 减少框架性代码 大大提高了开发者的效率。
  •     * 支持单元测试和模拟(对象),可以 简化测试。
  •     * 无缝集成 所有已经存在的 Java对象和类库。
  •     * 直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。



2 scala
http://www.scala-lang.org/

Scala is a general purpose programming language designed to express

common programming patterns in a concise, elegant, and type-safe way. It

smoothly integrates features of object-oriented and functional

languages, enabling Java and other programmers to be more productive.

Code sizes are typically reduced by a factor of two to three when

compared to an equivalent Java application.

这也是我最早接触的基于JAVA的函数式语言!当初刚一看到就去写了hello world

级别的代码:)


3 jython
http://www.jython.org/

Jython, lest you do not know of it, is the most compelling weapon the Java platform has for its survival into the 21st century - SeanMcGrath

Why Jython

There are numerous alternative languages implemented for the Java VM.

The following features help to separate Jython from the rest:

  •     * Dynamic compilation to Java bytecodes - leads to highest possible performance without sacrificing interactivity.
  •     * Ability to extend existing Java classes in Jython - allows effective use of abstract classes.
  •     * Optional static compilation - allows creation of applets, servlets, beans, ...
  •     * Bean Properties - make use of Java packages much easier.
  •     * Python Language - combines remarkable power with very clear syntax. It also supports a full object-oriented programming model which makes it a natural fit for Java's OO design.



Differences - Python & Jython :

Python
    * C
    * Multi-platform
    * Compiles to .pyc
    * Extend with C
    * GIL 1
    * Python Garbage Collection

Jython
    * 100% Java
    * Any JVM (currently 1.1+)
    * Compiles to .class
    * Extend with Java
    * Truly multi-threaded
    * Java garbage collection


4 JRuby
http://jruby.codehaus.org/

JRuby is an 100% pure-Java implementation of the Ruby programming language.


以上四种是比较主流、实践中有一定的应用规模的;除此之外,还有几个主旨在于证明可行性的语言:

5 其他基于JAVA的语言

(1 BeanShell
(2 CAL
(3 Quercus (PHP)
(4 Rhino (JavaScript)

 

OVER!

1
0
分享到:
评论

相关推荐

    纯Java 实现的一个脚本语言 语法类似javascript

    2. **解释器**:它包含了一个Java虚拟机上的脚本解释器,能够解析并执行Scorpio-Java脚本。 3. **API集成**:可能提供了与Java标准库或者其他特定Java框架的集成,允许脚本与Java应用程序进行交互。 4. **灵活性**:...

    通过java语言编写的手机Android系统功能

    1. 应用程序框架:Android应用程序主要由Java代码编写,运行在Dalvik或ART(Android RunTime)虚拟机上。开发者可以利用Java的类库来创建各种功能丰富的应用,如活动(Activity)、服务(Service)、广播接收器...

    java 3D和虚拟技术

    - **编程在VRML中的应用**: 使用脚本语言为VRML世界添加逻辑和行为。 - **脚本节点**: 如何在VRML文件中嵌入脚本代码。 - **事件处理**: 如何处理来自传感器节点或其他源的事件。 - **JavaScript示例**: 提供了一个...

    PhoenixII手机脚本系统(附带虚拟机源码, 使用教程和脚本完整例子)

    本脚本系统主要面向内存和容量受限制较多的移动终端, 该脚本系统非常小巧(虚拟机只有一个JAVA类), 但却非常高效, 强大, 易学. 使用类似C和JAVA的混合语言语法. 编译效率非常高(编译出的指令集接近手写!), 同时提供...

    聊聊Java平台上的非Java语言共3页.pdf.zip

    这些语言通常被称为“JVM语言”,因为它们编译成字节码,可以在Java虚拟机上执行,从而利用JVM的强大功能和跨平台兼容性。本文将探讨一些在Java平台上流行的非Java语言,并分析它们的特点、优势以及应用场景。 1. *...

    tomcat虚拟主机+目录

    在IT行业中,Tomcat是一个广泛使用的开源Web服务器和Servlet容器,尤其在Java应用程序的部署上。本主题将深入探讨“Tomcat虚拟主机”和“Tomcat目录”的概念,以及它们在Tomcat 6版本中的应用。 一、Tomcat虚拟主机...

    虚拟主机管理系统源代码--001

    虚拟主机管理系统源代码是开发和管理网络服务器的关键组成部分,它允许用户通过Web界面轻松地创建、管理和维护多个网站在同一台物理服务器上。本系统源代码提供了详细的实现细节,可以帮助开发者理解如何构建这样的...

    Java软件技术发展趋势探讨

    JRuby作为Ruby语言的一个实现,能够在Java虚拟机上运行,这不仅拓展了Java平台的功能边界,也为Ruby语言在企业级应用中的使用提供了可能。尽管面临着适应性和社区支持等问题,但随着JVM对动态语言支持的优化,JRuby...

    一种基于Java技术的PHP编译器的设计与开发.pdf

    Java技术可以将php程序移植到Java虚拟机上,从而极大地扩展php的应用范围。java语言本身和java虚拟机都是java技术的组成部分。在java虚拟机上,php程序可以被编译成二进制代码,提高其运行效率。同时,java虚拟机的...

    AIL 是一门开源的运行在 Python 虚拟机上的面向对象的编程语言

    AIL 是一门开源的运行在 Python 虚拟机上的面向对象的编程语言。支持 Python 的大多数特性的同时,还额外增加了如 match 表达式,匿名函数,名称空间等 AIL 自身的特性。具有完整标准库的 Python3.8

    基于X3D-Java虚拟航空展览馆参数化设计.pdf

    综上所述,文章《基于X3D-Java虚拟航空展览馆参数化设计.pdf》不仅为虚拟现实领域的技术研究人员提供了宝贵的参考,也为未来的虚拟展览馆设计指明了方向。通过技术的创新应用,我们有理由相信,未来的虚拟展览馆将会...

    虚拟主机管理系统源代码--002

    虚拟主机管理系统是网络服务提供商用来管理服务器上众多用户网站的重要工具。这个系统允许管理员高效地分配资源、监控性能、管理用户账户以及处理各种与网站托管相关的任务。在提供的信息中,“虚拟主机管理系统源...

    VRML和Java支持下的三维虚拟校园构建.pdf

    4. Java语言与JavaScript脚本的结合使用:Java语言中的JavaScript脚本及外部编程接口(EAI)被用于设计并实现复杂的交互功能。通过结合使用Java和JavaScript,可以创建更为丰富和互动的三维虚拟环境。 5. HTML在...

    带给PHP和Java世界的双赢.pdf

    WebSphere Mash是一个社区驱动的开发项目,目标是实现一个敏捷的Web应用开发环境,它利用动态脚本语言PHP或Groovy(一种运行在Java虚拟机上的动态脚本语言)和轻量级的Web开发技术,如REST等,大大简化了Java平台的...

    大麦网抢票脚本 Python源码

    在Python环境下,可以利用虚拟环境管理依赖,确保脚本在不同环境中稳定运行。 在"Automatic_ticket_purchase-master"这个压缩包中,我们可以推测其包含的文件结构可能如下: 1. `README.md`:文件,提供脚本的使用...

    JACL A TCL implementation in Java.pdf

    它的解释器完全用Java编写,可以在任何Java虚拟机上运行。因此,Jacl能够成为Java环境中一个通用的脚本语言,用于创建Web内容或控制Java应用程序。 #### 对Tcl和Java社区的意义 对于Tcl编程社区来说,Jacl的出现...

Global site tag (gtag.js) - Google Analytics