为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

jvm话三国 足本措辞之五虎大将[总论]

2017-10-20 7页 doc 23KB 3阅读

用户头像

is_435706

暂无简介

举报
jvm话三国 足本措辞之五虎大将[总论]jvm话三国 足本措辞之五虎大将[总论] JVM话三国 脚本语言之五虎上将 本文由ailaopodett贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 JVM 话三国 脚本语言之五虎上将 【51CTO 独家特稿】蜀汉昭烈帝刘备麾下的五员猛将.建安十六年(219 年)刘备攻取汉中,自立汉中王,册封麾下关羽,张飞,赵云,马超,黄 忠为五虎上将. 在 JVM 中也有五个炙手可热的脚本语言,堪称 JVM 的五虎上将! Groovy 和 JRuby 二将领衔 JVM,Scala,F...
jvm话三国 足本措辞之五虎大将[总论]
jvm话三国 足本措辞之五虎大将[总论] JVM话三国 脚本语言之五虎上将 本文由ailaopodett贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 JVM 话三国 脚本语言之五虎上将 【51CTO 独家特稿】蜀汉昭烈帝刘备麾下的五员猛将.建安十六年(219 年)刘备攻取汉中,自立汉中王,册封麾下关羽,张飞,赵云,马超,黄 忠为五虎上将. 在 JVM 中也有五个炙手可热的脚本语言,堪称 JVM 的五虎上将! Groovy 和 JRuby 二将领衔 JVM,Scala,Fantom 和 Jython 三位亦是 JVM 脚 本中的好汉. 很多人都知道,在过去很长一段时间里,Java 技术是指 Java 编程语言和 Java 虚拟机 (JVM).把 Java 语言被编译成字节码在 JVM 上运行,而通过这样的技术,Java 也被认为 是可以在任何环境,操作系统中都可以运行万能语言. (51CTO 推荐专题:Java 虚拟机原理 与优化) 五虎上将:关羽,张飞,赵云,马超,黄忠 五种语言特性对比 但是,Java 和 JVM 的发展轨迹却不相同:Java 与 C,C++等语言一样,越来越复杂,而 卓越的性能以及拥有便携性和可扩展性的 JVM 却逐渐成为最快和最有效的执行平台, JVM 现 在已经创造了一个新一代的开放编程语言平台. 在写本文之前,我们找到一些可以在 JVM 上运行的脚本语言,让他们做一些对比,我认 为这些开源的语言要比闭源的语言好得多. 开发人员在编写程序时都会使用脚本语言. 这种 语言的狭义概念是使开发人员快速编写程序的语言. 这些语言编写出来后一般被认为是可执 行或半编译的程序, 而不是传统意义编程. 我们用另一个广义概念来解释就是这些都是可以 在 JVM 上运行的语言,比 Java 更加轻便的语言.有些是可以执行的,有些是半编译的,但 是都发展迅速.我把定义成 JVM 上的五虎上 将:Groovy,JRuby,Fantom,Jython 和 Scala. 今天 JVM 的脚本语言 我们可以分为两个重量级. Groovy 和 JRuby 自然是第一阵营. 值得注意的是,Groovy 和 JRuby 的位置也并不牢靠,就在两年前他们的位置还很边缘 化.我认为,在未来他们的位置随时会被 Scala,Fantom 和 Jython 取代.如果你听我讲完 之后,你会觉得 Jython 的阳光时刻可能已经来了. JVM 的脚本语言五虎上将: 关羽——Groovy - 强大的,高层次,企业级 JVM 脚本语言. 赵云——JRuby -还有比红宝石更好的吗? 张飞——Scala - 快,多范例 programmingJVM 脚本语言. 马超——Fantom - Java 和.Net 的 performanceJVM 的脚本语言. 黄忠——Jython 中 - Python 中的 JVM 的脚本语言. 关羽——Groovy - 强大的,高层次,企业级 JVM 脚本语言.关羽,[字:云长][终属: 蜀汉](生卒:?-219)[并州]河东解县 [今山西运城]人,官至前将军,封汉寿亭侯,追谥 曰壮缪候.Groovy 是一种面向对象的语言.其主要特点是它的语法与 Java 极为相似,但与 很多杂乱的设置都被删除了.Groovy 中是最早的脚本语言之一,具有独特的历史,是开源 世界的奇葩,如果说 Java 就是蜀国汉昭烈帝刘备的话,那只有忠勇的 Groovy 可称关羽. Java 开发人员可以很快使用 Groovy,事实上 Groovy 的编译器接受纯 Java 的语法,Java 开 发人员可以很快地学习这个全新的脚本语言——Groovy. (51CTO 推荐专题:Groovy 开发技术) 前将军关羽 对于 Groovy,开发者运用时简化了很多代码.尤其语言能力的推断方面.例如,Groovy 可以检查一个变量的初始使用,并确定它是一个整数,字符串等.程序员可以自由地提供这 方面的代码. Groovy 中是最早的脚本语言之一,它同时还提供另一种功能,称为封锁,由 Sun 公司 Java 开发(现在的甲骨文公司)提供.封锁使开发者指定的代码作为一个独立的实体,并 把它运用到其他编程业务中.这使得在描述程序的功能非常简洁,并在其他语言里,可以提 供为创建可作为函数的参数传递给其他对象的功能. Groovy. 构建在强大的 Java 语言之上并添加了从 Python, Ruby 和 Smalltalk 等语言中 学到的诸多特征, Java 开发者提供了现代最流行的编程语言特性, 为 而且学习成本很低 (几 乎为零),在开发 Web,GUI,数据库或控制台程序时, 通过减少框架性代码大大提高了开 发者的效率.支持单元测试和模拟(对象),可以简化测试.无缝集成所有已经存在的 Java 对象和类库.直接编译成 Java 字节码,这样可以在任何使用 Java 的地方使用 Groovy. Groovy 中具有独特的历史,开源世界的奇葩.该项目启动于 2003 年.创始人后来移居 到其他项目,在不同时期,都认为 Groovy 不能成功.不过即使没有他们,开源社区贡献者 也对 Groovy 产生浓厚的兴趣,保持了 Groovy 前进.一个领先的 Web 框架,使用 Groovy 和 在他们的支持 IDE 最终走到世人面前. 有 Laforge 和 Grails 的开发者以及现在 SpringSource 和 VMware 这些企业的支持使 Groovy 的未来变得有保证.尽管 JVM 的性能优化,但是一些 Groovy 特性却有很高的成本. 同时虽然 Groovy 语言的受欢迎程度正在上升,它患有长期的弱点,正在慢慢出现:缓慢的 运行速度.她也给了其他脚本语言了机会,五虎上将中的关羽是第一个阵亡的,Groovy 又 会不会被其他语言超越呢? 赵云——JRuby - 比红宝石更好的吗?JRuby 是一个 Ruby 语言的 Java 的端口.赵云, [字:子龙][终属:蜀汉](生卒:168-229(62 岁))[冀州]常山真定 [今河北正定]人,官至镇 东将军,封永昌亭侯,追谥曰顺平侯.Ruby 本身是一种脚本语言在 1990 年代中期的日本出 现,它已经得到了广泛应用.在 JVM 中 JRuby2004 年才在美国和欧洲 Ruby 的杀手锏级别武 器——Ruby on Rails.Ruby on Rails 使得 Web 应用程序装配的各部分更容易设置,Ruby 被迅速投入使用开发小型和中型的企业网站. Rails 的普及导致了 Ruby 的爆炸性增长.常 言道:"马中赤兔,人中吕布."武功不在吕布之下的赵云当有宝石的称号,五虎上将中 也只有常胜将军常山赵子龙堪比 JRuby! 中将军赵云 Ruby 语言有很多在 Groovy 中的功能, 但它使用了更简洁的语法——让开发人员得到更 多的工作.Ruby 面临最大的问题是性能. 在多个基准里,它都是排在最后的.这促使许多 竞争性项目,以重写 Ruby.其中,最成功的是 JRuby 的. JRuby 项目开始于 2001 年 1 月,Ruby 的代码直接端口到 JVM.2007 年,Sun 师对 JRuby 进行开发——可以运行 Rails 的 Ruby 和交付性能媲美非 Java 的 Ruby.自那时以来, 开发人员转移到 Ruby on Rails 上,在 JRuby 的工作已持续快速上涨并迅速抓到了商机.在 此期间,JRuby 的性能是现在这个版本比 Ruby 发布的 1.9 版本要快得多. JRuby.一个纯 Java 实现的 Ruby 解释器.通过 JRuby,你可以在 JVM 上直接运行 Ruby 程序,调用 Java 的类库.很多 Java 编写的 Ruby IDE 都是使用 JRuby 来解释语法的. 对 Java 的运行环境和代码库来说,访问是决定 JRuby 的未来是至关重要的一环.Ruby 一直没有进入在一个大企业,JRuby 则可能是存进入大企业. JRuby 中的优点,企业可以在 JVM 上的应用程序运行, 而原生的 Ruby 虚拟机是一种不成熟的数据中心. 此外, 由于与 Java 应用程序集成, 企业可以通过采用 JRuby 和 Java 软件中还利用到以前开发的 Ruby 项目中去. 最重要的是高司令离开 Oracle 之后全心投入到 JRuby 开发中去,这个给了 JRuby 开发者极 大的信心!就像被横扫 N 次团队突然来了个 MT! 高司令 blog:"On a New Rord" 主页上截取的图片"高司令和 JRuby 红鼻子小企鹅在一起" 企业是否会支持 Groovy 或 JRuby 完全取决于科技发展速度. Groovy 和 JRuby 目前都是 由发展商支持的(而不是由志愿人员),有日益扩大的工具供应商长时间的支持,迅速提供 工作代码.而以下三种语言现在并不像 Groovy 和 JRuby 成功,但他们有一些必定能使他们 在未来数年内的取得成功.即使他们没有达到这个水平,他们也都有众多的热情支持者. 张飞——Scala - 快,多范例 programmingJVM 脚本语言.张飞,[字:翼德][终属:蜀 汉](生卒:?-221)[冀州]涿郡涿县 [今河北涿州]人,官至车骑将军,追谥曰桓候.最初 是在 2003 年发展成为一个研究语言.它经常被描述为一个多范例语言,因为它结合了不同 的编程元素.其核心是一个纯粹的面向对象的语言(即,一切都是一个对 象)的功能能力. Scala 是一个在学术界流行的编程风格有利于职能,没有副作用(函数不改变函数的变量或 其他国家使用),一流的功能(函数成为使用对象可以传递给其他函数),并尽可能多的使 用常量的变量.在 Java 字符串不能被修改,但是 Scala 的任改变一在一个完全新的字符串 创建现有字符串的结果是可以实现的.论忠诚张飞不比关云长差得半分,论武艺能喝断桥 的张翼德可给赵云断后,强大的 Scala 不就和张飞一样吗? (51CTO 推荐专题:专题:Scala 编程语言) 后将军张飞 Scala.一种多范式的编程语言,意图是要整合面向对象编程和函数式编程的各种 特性.Scala 编程语言近来抓住了很多开发者的眼球.它看起来像是一种纯粹的面向对象编 程语言,而又无缝地结合了命令式和函数式的编程风格.Scala 的名称明,它还是一种高 度可伸缩的语言.Scala 的设计始终贯穿着一个理念:创造一种更好地支持组件的语言. 开发者在 Scala 这里享受过其他语言没有的快乐: 奇异的性能优势. 语言是编译为优化 代码,运行速度基本上和 Java 没有区别.其余的语言远远地落后于 Scala 远远执行速度. 当然,Scala 确实有缺点.其中第一项是有时不透明的语法,每一种语言都有用于生成 坚不可摧的代码, 但它不太容易在 Scala 上这样做. 第二个问题是一个二进制兼容性, Scala 的维护人员已经发布二进制兼容新版本.如果广泛采用,尤其是在企业开发里,把现有代码 重新编译, 以便能够与现在的代码兼容, 这是 Scala 发展的一个巨大障碍. 不过, 对于 Scala 的好工具相继出现, 以及社区的用户是积极和热情. 我完全相信 Scala 会成为 JVM 语言里最 棒的一个. 马超——Fantom - Java 和.Net 的 performanceJVM 的脚本语言.马超,[字:孟起][终 属:蜀汉](生卒:176-222(47 岁))[雍州]扶风茂陵 [今陕西兴平]人,官至骠骑将军,封犛 乡侯,追谥曰威侯. Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引 擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面 向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库.马超天生的守城大将,攻城略 地被 C#——曹操打得大败,Fantom 在 JVM 阵营中的停滞不前不正像马超的后半生吗? 左将军马超 Fantom 这种语言遵循其设计者的想法, 最初制定他们的客户需要的实时软件包. Fantom 这种语言设计者就像是 Groovy 的和 JRuby 的设计师一样,想使编码更容易.他们已经取消 了相当数量的代码,但前面推入新的领域作出一些有趣的选择. 例如,所有的整数和浮点值是 64 位.这意味着,对于所有意图,对算术运算的结果不 能造成溢出的领域限制. Fantom 还包括内置的并发——Scala 只有对全面的并发这个共同 特征的支持.该代码库已经很成熟了,很多语言认为按照 Java 和.net 的标准 API 的模式是 不守秩序.因此,Fantom 的 API 是需要一个特定的功能,只有在 Fantom 那里才可以找到. 作出 Fantom 网站出色的文件显然更加更容易. 像许多语言一样,Fantom 对通过外部工具只有有限的支持.它唯一的 IDE 支持是 NetBeans.这有可能改变为 Fantom 社区的增长和其独特的设计和跨平台特性变得更加广为 人知.总体来说 Fantom 有点像马超一样,有点独! 黄忠——Jython - Python 中的 JVM 的脚本语言.黄忠[字:汉升][终属:蜀汉](生 卒:148-220(73 岁))[荆州]南阳 [今河南南阳]人,官至后将军,追谥曰刚侯. JPython, 是 JVM 释放最早的脚本语言之一.其目的是 Python 用于 Java 平台的实现.在这方面,只是 部分成功,因为它没有实现所有 Python,而是整个 Python 语言的一小部分. Python 本身 是沿着原来的脚本语言与 Perl(1).它保留了它的普及多年来作为一个最好的通用语言, 它被广泛应用于内的 Google. 黄忠为五虎上将最后一名, Jython 一样, 和 年轻时无比强悍, 可惜耽误了几年,可惜可惜啊! 右将军黄忠 Jython 由于继承了 Java 和 Python 二者的特性而显得很独特. 其是一种完整的语言, 而不是一个 Java 翻译器或仅仅是一个 Python 编译器, 它是一个 Python 语言在 Java 中的完 全实现. Jython 也有很多从 CPython 中继承的模块库. 最有趣的事情是 Jython 不像 CPython 或其他任何高级语言,它提供了对其实现语言的一切存取.所以 Jython 不仅给你提供了 Python 的库,同时也提供了所有的 Java 类.这使其有一个巨大的资源库. Jython 的最初受到了它的主要开发者热情用户,但他主要的创始人离开了项目,去往 微软工作之后,Jython 开始挣扎着前行.在经历了 Jython 的创始人离去之后,项目基本在 2005 至 2008 年间停滞.在此期间,其他 JVM 的脚本语言尤其是 Groovy,获得了很大的发 展,而 Jython 是否会像黄忠一样慢慢老去,永远无法恢复的原有势头,我们拭目以待! 总结: 本文原为外文文章"Top five scripting languages on the JVM". 翻译成汉语为"基 于 JVM 的 5 大脚本语言".编辑们稍作加工,希望大家喜欢.
/
本文档为【jvm话三国 足本措辞之五虎大将[总论]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索