脚本语言的发展

上传人:新** 文档编号:563450765 上传时间:2022-09-03 格式:DOC 页数:11 大小:53.50KB
返回 下载 相关 举报
脚本语言的发展_第1页
第1页 / 共11页
脚本语言的发展_第2页
第2页 / 共11页
脚本语言的发展_第3页
第3页 / 共11页
脚本语言的发展_第4页
第4页 / 共11页
脚本语言的发展_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《脚本语言的发展》由会员分享,可在线阅读,更多相关《脚本语言的发展(11页珍藏版)》请在金锄头文库上搜索。

1、脚本语言的发展主流的脚本语言目前主流的脚本语言有以下几种: Groovy Ruby PythonGroovyGroovy是JVM的一个替代语言替代是指可以用Groovy在Java平台上进行Java编程,使用方式基本与使用Java代码的方式相同。在编写新应用程序时,Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。目前的Groovy版本是1.6.3,在Java1.4和Java5平台上都能使用,也能在Java6上使用。Groovy的一个好处是,它的语法与Java语言的语法很相似。虽然Groovy的语法源于Smalltalk和Ruby这类语言的理念,但是可以将它想像成Java语言的

2、一种更加简单、表达能力更强的变体。(在这点上,Ruby与Groovy不同,因为它的语法与Java语法差异很大。)许多Java开发人员非常喜欢Groovy代码和Java代码的相似性。从学习的角度看,如果知道如何编写Java代码,那就已经了解Groovy了。Groovy和Java语言的主要区别是:完成同样的任务所需的Groovy代码比Java代码更少。(有时候会少很多!)RubyRuby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(去二右七吉m/YukihiroMatsumoto)开发,遵守GPL协议和RubyLicense。它的灵感与特性来自

3、于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。PythonPython具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。它的名字来源于一个喜剧,也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。著名的自由软件作者EricRaymond在他的文章如何成为一名黑客中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。这的确是一个中肯的建议,对于那些从来没有学习过

4、编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。Groovy介绍Groovy特点开始使用Groovy时,会发现它使日常的编程活动变得快了许多。Groovy有如下这些特点: Groovy的松散的Java语法允许省略分号和修改符。 除非另行指定,Groovy的所有内容都为public。 Groovy允许定义简单脚本,同时无需定义正规的class对象。 Groovy在普通的常用Java对象上增加了一些独特的方

5、法和快捷方式,使得它们更容易使用。 Groovy语法还允许省略变量类型。Groovy的新特性虽然Groovy允许省略Java语法中的一些元素,但也增加了一些新特性,例如本地集合、内置的正则表达式和闭包。在标准的Java代码中,如果想要创建一个项列表,首先要导入java.util.ArrayList,然后程序化地初始化ArrayList实例,然后再向实例中添加项。在Groovy中,列表和映射都内置在语法中无需导入任何内容。正则表达式也不需要额外的导入或对象;它们可以通过特殊的Groovy语法来创建。闭包对于任何Java开发人员来说,闭包都是一个令人兴奋的新技巧。这些神奇的构造将会包含在未来的Ja

6、va发行版(很可能是Java7)中,成为正式的Java语法,但现在已经可以在Groovy中使用了。可以将闭包想像为一个代码块,可以现在定义,以后再执行。可以使用这些强大的构造做许多漂亮的事,不过最著名的是简化迭代。使用Groovy之后,就有可能再也不需要编写Iterator实例了。动态的Groovy从技术上讲,Groovy可能是您最近听说过的类型最松散的动态语言之一。从这个角度讲,Groovy与Java语言的区别很大,Java语言是一种固定类型语言。在Groovy中,类型是可选的,所以您不必输入StringmyStr=Hello;来声明String变量。除此之外,Groovy代码还能在运行时轻

7、松地改变自己。这实际上意味着,能够在运行时轻松地为对象指定新方法和属性。这一编程领域称为元编程,Groovy能够很好地支持这种编程方式。在学习本教程的过程中,您将了解到关于Groovy的动态性质的更多内容。现在惟一要补充的是,您会惊讶地发现,在Groovy会使操作XML或普通的java.io.File实例变得非常轻松。一体两面用Groovy编写的任何内容都可以编译成标准的Java类文件并在Java代码中重用。类似地,用标准Java代码编写的内容也可以在Groovy中重用。所以,可以轻易地使用Groovy为Java代码编写单元测试。而且,如果用Groovy编写一个方便的小工具,那么也可以在Jav

8、a程序中使用这个小工具。Groovy是用Java实现的开源脚本语言并且和它联系紧密.它需要JDK1.4.Groovy向Java添加了许多Ruby和Python脚本语言的特性.Groovy的特性包括动态类型(dynamictyping),闭包(closures),简单对象导航(easyobjectnavigation)和更加简洁的Lists和Maps语法.Groovy是由JamesStrachan和BobMcWhirter创造的.James还参与了许多其他开源项目的开发,其中包括Jelly,dom4j,Jaxen,Betwixt和Maven.Bob是Jaxen和Drools(个开源的面向对象的J

9、AVA规则引擎)的创始人.目前最新稳定版为Groovy1.5。这个Groovy版本包含了很多Java5的特性(Annotation,泛型,Enum.),并修正了很多错误。Ruby介绍Ruby的设计理念减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计Ruby语言的Matz的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。“人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我

10、们是主人,他们是仆人。”遵循上述的理念,Ruby语言通常非常直观,按照编程人认为它应该的方式运行。SemanticsRuby是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。Ruby的特点完全面向对象在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数.变量没有类型Ruby的变量可以保有任何类型的数据。任何东西都有值不管是数学或者逻辑表达式还是一个语句,都有值命名规则Ruby的变量有一定的规则,以$开头的一定是全局变量,以开头的都是实例变量,而以开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器

11、的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,per1与php亦有此优点。已经定义的类可以在运行时修改Ruby是动态语言,你可以在程序中修改先前定义过的类。也可以在某个类的实例中定义该实例特有的方法,这叫做单立方法。classMyClassdefthe_methodgeneralmethodendendmc=MyClass.newdefmc.the_methodspecialforthisinstance.endmc.the_method#specialforthisinstance使用Ruby可以写出简短而有功能强大的代码

12、#下面的方法用来完成两个矩阵的乘积defmatrix_mul(matrix1,matrix2)result=Array.new(0.matrix1.length).each|i|temp=Array.new;(0.matrix2.length).each|j|tmp=0;(0.matrix10.length).each|k|matrix1k.to_f*matrix2kj.to_f;temptmp;resulttempreturnresultendRuby与PHP由于PHP自身的混乱,很多PHPer对PHP开始感到对PHP的不安,有一部分人听说了RubyonRails的好处之后,便跑来学了,PH

13、P与Ruby究竟是什么关系呢?StefanMischook宣称PHP社区的人们不必恐慌于Ruby近期的增长和普及。他表示尽管Ruby和PHP都是使得开发Web应用更简单的脚本语言,但每种语言都吸引着不同的听众。Ruby有一点抽象,因此无法满足大多数PHPer的需要。Stefan同样提到PHP程序的面向对象版本仅仅增强了它的力量。“面向对象的构造对建立清理设计是有好处的,这使得保持和促进代码重复利用的可能性变的更简单。代码的重复利用经常被奉为OOP思想的优势,但是我从Java世界里看到的是,它常常不能达到这样的要求。OOP增加了复杂性和管理费用的开销,当你通过OOP做某些事情时,你不得不写更多的

14、代码来完成它。”相反的,Ruby中的每一个东西都是对象。“核心语言有着非常复杂的构造,需要使用Ruby去有效地理解,Ruby的力量同样也是它的缺点。他同样非常有信心的指出Ruby很好的适用于面向对象设计,因为它是作为一个面向对象的语言而建立的。但是,面向对象的能力已经被程序的框架限定了。“我认为PHP是最好的选择,因为这已经得到了很好的认可一一包括许多开发环境,开源的项目,简单的集合等等。Ruby刚刚开始进入主流,在Ruby和Web开发中还是有些基本的问题。例如Ruby和APACHE的结合仍然还不稳定,但是还有些已知的问题并且可以提出争论。”Python介绍Python的设计理念可扩充性可说是

15、Python作为一种编程语言的特色。新的内置模块(module)可以用C或C+写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由TimPeters写的python格言(称为TheZenofPython)里面表述为:Thereshouldbeone-andpreferablyonlyone-obviouswaytodoit.有意思的是,这正好和Per1语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(TheresMoreThanOneWayToDoIt)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。例如if语句:ifage21:printYoucannotbuywi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号