五大基于JVM的脚本语言
还记得以前本站的一篇文章《如何在Google App Engine上运行PHP》吗,其实那是借用 Quercus, 一个 100% 的用Java 实现的一个 PHP 引擎。今天,这样的东西太多了,能运行在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类。这使其有一个巨大的资源库。exelero
下面是一张表格比较了这五大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集成  极好  极好  优秀  好  极好
运行速度  好  好  极好
很好  慢
工具支持  广泛  还可以  广泛  几乎没有  几乎没有
酸雨ph
其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。
如何在Google App Engine上运行PHP
Google 在一年前发布了Google App Engine (GAE) 。这是一个免费的 App Engine 主机,可以让你的每个Application(免费的最多有10个)有1GB的磁盘空间和43.6个CPU小时与10GB的上传和10GB 的下载带宽,以及2000个。如果你需要地更多,那就是付钱了。
GAE 最近发布了正式支持Java的通知。于是,互联网上开始有了各种各样的BLOG评论文章,还有一些人居然在Google App Engine 中运行PHP程序,这个太不可思议了。因为GAE目前并不支持PHP。
其实,他们使用了一个叫做 Quercus的东东, Quercus 本质上是一个 100% 的用Java 实现的一个 PHP 引擎 (需要 JDK 1.5),所以,只要你把Quercus集成到你的GAE中,你自然也可以运行PHP脚本了。祖国七十华诞
下面是大体步骤:
1) 注删一个 免费的帐号。
2) 下载这个文件 到你本机。
好听但不出名的歌3) 在 war\l 编辑应用的XML tag,把其名字改成你所注册的名字。
4) 最后,上传你的应用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。