版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、tcl语言基础资料一脚本语言详细介绍21世纪的高级编程语言摘要:perl和tel等脚本语言代表一种与c或javatm 为代表的系统程序设计语言完全不同的编程形式。脚 本语言为"胶着"应用程序而设计,它使用无类型方法 来实现高级编程和比系统程序设计语言更快的发展应 用。计算机速度的增长和混合应用的改变使脚本语言 在今后的应用中越来越重要。关键字:组件框架,1.简介在过去的十五年里,人们编写计算机程序的方法 发生了根本的转变。这种转变是从c或c+等系统程序 设计语言到pe门或tel等脚本语言的过渡。虽然彳艮多 人参与了转变,却很少有人意识到它的发生,更不用 说知道为什么会发生。
2、这篇文章是我关于为什么在下 个世纪脚本语言可以比系统程序设计语言更好的处理 许多编程工作的一点看法。与系统程序设计语言相比,不同的脚本语言为 不同的工作而设计,这导致了语言间的扌艮本不同。系 统程序设计语言起源于像内存字等最初期的计算机元 素,它为建立数据结构和算法而创建。相反的,脚本语 言为胶着而设计:他们假设已经存在一套强大的组件, 而它主要是巴组件连在一起。系统程序设计语言使用 强类型定义来帮助处理复杂事务,而脚本语言使用无 类型定义来简化组件间的联系,并提供快速应用开发.脚本语言和系统程序设计语言互为补充,并 且二十世纪六十年代以来的大多数主要的计算机平台 都同时提供这两种类型的语言。
3、这些语言在组件框架 中有着典型的应用:组件由系统程序设计语言创建, 并由脚本语言组合在一起。然而,速度更快的机器,更好的脚本语言,图形用户界面和组件构造重要性的不断提高,因特网的发展等发展趋势大大提高了脚本语言的应用。在今后的十年中,这种趋势将继续,而 且越来越多的完全使用脚本语言和系统程序设计语言 书写的应用程序将主要用来创建组件。2.系统程序设计语言为了理解脚本语言和系统程序设计语言的不同, 最好先了解一下系统程序设计语言是如何发展的.系 统程序设计语言是作为除汇编语言外的另一种选择而 引入的在汇编语言里,实际上机器的每一个细节都被 反映在程序里每个状态代表一个简单的机器指令,而 程序员必
4、须处理像寄存器分配和程序调用顺序等低层 细节.因此,用汇编语言编写和维持大型程序是很困难 的.真的不掉线吗? ?.?二十世纪五十年代后期像lisp, fortran和 algol等高层语言开始出现这些语言里的状态和机器 指令不再完全一致,编译程序把过程程序中的每个状 态翻译成一系列二进制指令经过一段时间,一系列系 统程序设计语言包括pl/1, pascal, c, c+和java由 algol发展而来.系统程序设计语言没有汇编语言的效 率高,但他们使应用程序更快的发展起来,因此,系统 程序设计语言在大型应用项目的发展中几乎完全取代 了汇编语言.系统程序设计语言与汇编语言在两个方面有所不同:它是
5、高层语言并且是强类型"高层"意味着很 多细节被自动处理以便编程人员可以写更少的代码而 做同样的工作例如:编译程序处理寄存器分配,所以编程人员不需 要写代码来在寄存器和内存间转移数据自动设计程序调用顺序:编程人员不需要担心调用 栈之间的参数转移编程人员可以使用像while和if等简单的关键字来 控制结构,编译器执行所有的指令细节来完成控制结 构平均每行系统程序设计语言代码翻译成大约 五条机器指令,与此相比,每行汇编语言代码翻译成一 条机器指令(由5个不同的人写的8个c文件的非正式 分析中,我发现这个比率为每行3到7条指令;capers jones从大量语言的研究中发现对于一个
6、给定的工作, 汇编语言需要的代码长度大约是系统程序设计语言代 码长度的3-6倍)不管是什么语言,编程人员每年可以 写大体上相同数量的代码行,因此,系统程序设计语言 允许用比汇编语言快得多的语言写应用程序.汇编语言和系统程序设计语言的第二个不同 是类型设置我使用"类型"来说明信息的意义在它被 使用前就被特殊化在强类型语言中编程人员声明如 何使用每条信息,并避免此信息被用于其他方式在弱 类型语言中信息应用是没有优先权限制:信息的意思 完全由它的使用方法确定,而不是任何初始约定.现代计算机基本上是无类型的:内存中的任何 字对任何类型的值比如整型,浮点数,指针或结构体都 是有效的值
7、的意思由它的使用方法确定:如果指向一 个内存字,那么他就被认为是结构体;如果一个字涉及 一个整型加结构体,那么他就被认为是整型,如此等等. 相同的字在不同的时间可用于不同的方法.与此相反,现在的系统程序设计语言是强类型 定义的例如:系统程序设计语言中的每个变量都必须被声明 为整型或指针或字符串等特殊类型,并且必须用于适 合这种类型变量的方法数据与代码完全分离:创建新的代码很困难或根本 不可能.变量可以集中在结构体中或者定义好的子结构体和 过程或方法的对象中以便于使用;一种类型的对象不 能用于期待其他类型对象处.确定类型由几个好处第一,声明变量如何使用 使大型程序更易于管理并区分那些必须被分别对
8、待的 变量.第二,编译器可以利用类型信息来侦测某些类型 的错误,比如,试图把一真的不掉线 吗?、?个浮点值作为一个指针第三,定义类型能使编译 器更好的执行特殊代码例如,如果编译器知道一个变 量总是对整型值有效,那么他就可以产生一个整型指 令来操纵这个变量;如果编译器不知道变量的类型,那 么他就必须产生额外的指令在运行时检查变量类型.总之,系统程序设计语言被设计来处理与汇 编语言相同的工作,即随机地产生请求.系统程序设计 语言比汇编语言层次更高,类型更强这就使请求产生 更迅速并且处理更容易,除了在运行时有一点损失,图 示1是汇编语言和其他几种系统程序设计语言的比较.3脚本语言脚本语言,像 per
9、l, python, rexx, tel, visualbasic和unix shells代表了与系统程序设计语言完全 不同的编程脚本语言假设已经存在了 一系列由其他 语言写成的有用的组件脚本语言不希望随机地产生 请求,他希望主要是把组件接在一起例如,tel和 visual basic可以被用于在屏幕上安排一系列用户图 形控制,而unix shells scripts被用于把过滤程序集 合入管道脚本语言常用于扩展组件特性,但他们很少 用于复杂的算法和数据结构;这些东西常由组件提供. 脚本语言有时涉及胶着语言或系统整体语言.为了简化连接组件的工作,脚本语言被设计 为无类型的:所有的东西无论是看起
10、来还是使用起来 都是完全一样的,因此他们可以互换例如,在tel或 visual basic中一个变量可以一会儿处理字符串,一 会儿又处理整型代码和数据也常可互换,因此,可以 用一个程序写另一个程序,然后高速执行,脚本语言一 般是面向字符的,因为它为许多不同的事物提供了一 致的描述.无类型语言使组件更容易连在一起在使用 时没有优先级限制,并且所有的组件及其值都用统一 的方式描述除此之外,任何组件和值都可以在任何情 况下使用;为某一目的而设计的组件可以被用于设计 者完全没有预见过的完全不同的目的例如,在unix shells中,所有的过滤程序从输入读入字节流,并把字 节组成的字符串写入输出;任何两
11、个程序都可以通过 把一个的输出连到另一个的输入而把两者联系起来.下面的shell命令把三个过滤堆在一起来计算选中区域中包含单词"scripting"的行数:select i grep scripting | wcselect程序读入当前显示选中的文本并把它 输出;grep程序读取输入并把包含"scripting1'的行输 出;wc程序对输入的行数求和其中的每个 程序都可 以用于许多其他情况来做不同的工作.系统程序设计语言的强类型本质上阻止重用. 类型鼓励编程人员创建包含不相容接口的类型("接口 很好,接口越多越好").每个接口需要特别类
12、型的对象, 而编译器不允许接口使真的不掉线 吗? ?.?用任何其他类型的对象,即使那样有用为了使用 一个已经存在的接口的新的对象,就必须写转换代码 以便在对象的类型和接口期望的类型间进行翻译这 反过来又需要重编译部分或全部分布式二进制形式的 应用程序,在普通情况下这是不可能的.为了能看出无类型语言的优点,考虑下面的tel命令:button b -text hello! -font (times 16 -command (puts hello这个命令创建了一个新的按钮来显示16点 times字体,当用户敲击控制键时显示一段小的信息. 它把六种不同的类型混合成一个单一的状态:一个命 令名(butt
13、on), 一个按钮控制(b),所有权名字(-text, -font,和-command),简单字符串(hello!和 hello), 包含铅字名(times)及字点大小(16)的字体名(times 16)和tc 1脚本(puts hello). tel代表所有这些非正式 字符串在这个例子中可以在任何一个命令中为属性 赋值,而未赋值的属性使用给定的缺省值在这个例子 中20个以上的属性是不特别赋值的.同样的例子在java中用两种方法执行时需要 7行代码使用c+和微软基本类(mfc )需要三个过程 25行代码,在微软基本类中仅仅设置字体就需要几行 代码:cfont *fontptr = new cf
14、ont (); fontptr->createfont (16, 0, 0, 0, 700, 0, 0, 0, ansi_charset,out_default_precis, clip_default_precis, default-quality,default-pitch|ff.dontcare, "times new romann); buttonptr->setfont (fontptr);大部分代码是由强类型造成的为了设置按 钮字体,必须运用setfont方法,但这个方法必须通过 指针传给cfont对象,这反过来需要声明和初始化一个 新的对象为了初始化cfon
15、t对象必须唤醒它的 createfont方法,但createfont有一个需要14个特 殊化引数的固定接口 在tel中字体(times铅字,16点) 的基本特征不用声明或转换就可以立即使用另 外,tel允许在创建按钮的命令中直接包含按钮行为, 而c+和java中需要把它放在单独声明的方法中.(实际上可以用隐藏基本语言的复杂性的图 形开发环境处理一个像这样的不重要的例子:用户在 表中输入合适的值,而开发环境输出代码然而,在更 多复杂情况像按计划产生合适值或接口的条件任务中 开发人员必须在基本语言下编写代码) 这可能看起来脚本语言的无类型特性不能发现错误, 但实际上脚本语言和系统程序设计语言一样安
16、全例 如在上面的按钮例子中如果字体大小被置成非整型字 符串,就像xyz,那么就会出现错误不同的是当一个值 被使用时脚本语言在最后一刻进行错误检查,而强类 型在编译时发现错误这就避免了运行时的检查然而 提高效率的代价是限制信息如何使用:这导致了更多 的代码和更不易改变的程序.脚本语言和系统程序设计语言的另一个重要不 同是脚本语言是被解释而系统程序设计语言是被编译.被解释的语言由于没有编译时间而提供快速的转换.通过允许用户运行时编真的不掉线吗?、? ?写应用程序,解释器使应用程序更加灵活,例如, 许多整体线路的综合分析工具,包括tel解释器;程序 用户编写tel脚本来使他们的设计具体化并控制工具
17、操作.通过快速设计代码解释器可以实现强大的功能.例如,一个基于tel的网页浏览器可以通过把网页中的html转换为使用一些常规表达替代物的tel脚本,从而从语法上分析网页然后执行脚本把页面翻译显示在屏脚本语言不如系统程序设计语言效率高,部分 是因为他们使用解释器而不是编译器,而且因为他们 基本组件的选择标准是功能强大和易于使用而不是有 效地对应基本硬件例如,脚本语言经常使用长度可变 的字符串,而同样的情况下系统程序设计语言使用对 应一个机器字的二进制值;脚本语言经常使用哈希表, 而系统程序设计语言使用变址阵列.幸运的是,脚本语言的性能不经常是一个主 要的问题.脚本语言应用程序通常比系统程序设计语
18、 言的应用程序要小,并且脚本应用程序的执行受组件 执行的支配,而这些组件是系统程序设计语言提供的 典型工具.脚本语言比系统程序设计语言更高级,平均 一个指令可以做更多的工作一个典型的脚本语言指 令执行成百上千条机器指令,而一个典型的系统程序 设计语言指令执行大约五条机器指令(参图一)部分 不同是因为脚本语言使用翻译器,这不如系统程序设 计语言中被编译的代码但是主要的不同是因为脚本 语言的初期操作有更强大的功能例如,perl中唤醒一 个常规表达替代和唤醒一个整型加法一样简单在tel 中,变量会有与它相联系的图标,因此,设置变量会导 致侧面影响例如,一个图标可能会被用于保持变量的 值在屏幕上持续更
19、新.表1表的每行描述了被执行了两遍的应用程序, 一遍使用系统程序设计语言,像c或java, 一遍使用脚 本语言,像tel.代码率列给出了两个应用程序的代码 行率01意味着系统编程语言需要更多的代码),作用 率列给出了开发率在大多数情况下两个版本由不同 的开发者执行表中的信息由comp. lang, tel新闻组中 对文章进行答复的不同人提供。.由于上面描述的特性,脚本语言允许基于胶着的应用程序的快速发展表1提供了有趣的支持它 描述了几个在系统程序设计语言下执行后又在脚本语 言中重新执行的应用程序,或反过来也是一样的.在每种情况下脚本版本都比系统编程版本需 要更少的代码和更短的开发时间,不同点的
20、变化从2到 60.脚本语言第一次执行时好处不显著,这使人联想到 任何在第一次执行经验上的重执行都会更好,而脚本 和系统编程的真正不同相差5到10倍,而不是表中的 极端点脚本的好处同样依赖于应用程序在表中的最 后一个例子中,应用程序的图形用户界面部分是基于 胶着的,而模拟装置部分却不是;这可能解释为什么脚 本应用程序不如其他应用程序获益多.真的不掉线吗? ?.?总之,脚本语言被设计成胶着应用程序,他们 提供比汇编或系统程序设计语言更高层的编程,比系 统程序设计语言更弱的类型,和解译后的开发环境脚 本语言牺牲执行速度来提高开发速度.4 不同的任务,不同的工具脚本语言不是系统程序设计语言的替代品,反
21、过 来也一样他们各自适合不同类型的工作把胶着和系 统合为一体,应用程序可以比脚本语言快5-10倍;系统 程序设计语言将需要大量复本和转换代码来连接各块. 而这直接使用脚本语言对于复杂的算法和数据结构, 系统程序设计语言的强类型使程序更易于管理执行 速度是关键.系统程序设计语言可以比脚本语言运行 快10-20倍,因为它产生更少的运行时检查.在决定是否使用脚本语言或系统程序设计语言处理一项特殊任务时考虑以下问题:应用程序的主要工作是否是把已经存在的组件 联系起来 应用程序是否要操纵不同种类类型的事物 应用程序是否包含图形用户界面 应用程序是否做大量字符串操作 应用程序函数是否能快速解决问题应用程序
22、是否需要可扩展如果这些问题回答"是"就表明这个应用程序使用脚本语言会更好另一方面,如果对下面的问题回 答"是"就表明系统程序设计语言更适合这个应用程 序:应用程序是否执行复杂的算法或数据结构 应用程序是否操纵大量数据集(像图像中的所有像 素)因而执行速度很重要应用程序的函数是否已经定义好,并且;f艮少改动在过去的30年中,大多数主要的计算机平台 同时提供系统编程和脚本语言。例如,第一个脚本语 言虽然粗糙,却是一个jcl (作业控制语言),它被用于 在os/360中把工作等级按顺序排好。个别工作等级由 pl1, fortran或汇编语言书写,那时是系统程序
23、设计语 言。在二十世纪八十年代时unix机器上,c被用于系 统编程而sh, csh等壳编程被用于脚本。在二十世纪九 十年代的pc时代里,c和c+被用于系统编程e而 visual basic用于脚本。在现在已基本成形的网络时 代中,java被用于系统编程而像javascript , perl 和tel等语言被用于脚本。脚本和系统编程是共生的,共同使用,他们 能产生格外强大的编程环境:系统程序设计语言用于 产生令人兴奋的组件,然后用脚本语言把他们组装起 来。例如,visual basic的主要吸引力是系统编程者 可以用c编写activex组件,而不太老练的编程者可 以在visual basic应用
24、中使用这些组件。在unix下 编写用于唤醒用c编写的应用程序的壳脚本艮容易。 tc 1普及的一个原因是可以编写执行新命令的c代码来 扩展该语言的能力。5.脚本呈上升趋势真的不掉线吗? ?.?脚本语言已经存在了很长时间,但最近几年几个因素的综合结果使它的重要性提高了。最重要的 因素是应用程序综合向胶着应用程序发展的变换。这 种变换的三个实例是图形用户界面,因特网和组件框 架。图形用户界面出现于二十世纪八十年代早期,并在二十世纪八十年代晩期得以普及。在许多编 程项目中图形用户界面占了一半甚至更多的比重。图 形用户界面基于胶着应用:他的目标不是创建新的功 能,而是把图形控制集合和应用程序内部函数联系
25、起 来。我不担心任何快速发展的环境因为图形用户界面 基于系统程序设计语言,不论是windows环图形用户界面境,macintosh toolbox 或 unix met if,基于c或c+等已被证明难以掌握,使用不灵活,生成 结果不灵活的语言。一些这样的系统有彳艮好的图形工 具来设计屏幕输出并隐藏基本语言,而一旦设计者不 得不编写代码时一切变得困难起来,像为接口元素提供行为。所有好的快速开发图形用户界面环境都基于 脚本语言:visual basic, hyper lard 和 tcl/tk,随着图形用户界面的普及,脚本语言也越来越流行。因特网的增长也使脚本语言变得大众化。因 特网只是一种胶着工
26、具,它不创建任何新的计算结果 或数据;它只是简单的把大量已经存在的事物联系起 来。因特网编程工作的完美工作之一是让所有连接的 组件在一起工作,像脚本语言。例如:perl因编写cgi 脚本而流行,javascript因编写网页而流行。基于脚本的第三个例子是组件框架,像 activex, opendoc和javabeanso虽然系统程序设计语 言可以很好的创建组件,但脚本更适合组装组件到应 用程序中。没有一个好的脚本语言来操纵组件,组件 框架的大部分功能就都没有了。这可以部分解释为什 么组件框架在个人电脑上(visual basic提供了方便 的脚本工具)比在像unix/corba等组件框架中不包
27、含 脚本的平台上更成功.脚本语言继续普及的另一个原因是脚本技术 的提高。现代脚本语言像tel和perl离早期脚本语言 像jcl的公开宣布已经很远。例如,jcl不提供基本反 复而早期unix外壳不提供过程,即使在今天,脚本技 术仍然相对不成熟。例如,visual basic不是真正的 脚本语言:它最初执行像一个简单的系统程序设计语 言,然后修改使之更适合脚本。以后的脚本语言将比 现在使用的更好。脚本技术得益于计算机硬件的加速发展。过 去常常用系统程序设计语言在复杂的应用程序中获得 可接受的执行。某些情况下甚至系统程序设计语言也 不够有效,因此不得不用汇编编写应用程序。然而, 今天的机器比1980
28、年的快100-500倍,并且仍在继续 以每18个月翻一番的速度增长。今天,许多应用程序 可以用解释后的程序执行,并且仍然有出色的执行。 例如,tel脚本可以操纵几千个对象同时提供好的相互 响应。由于计算机速度的不断提高,脚本将对越来越 大的应用程序产生吸引力。脚本语言应用的不断增长最终导致编程群体 的改变二十年前大多数编程者是大型项目的熟练的 编程人员那个时代的编程人员需要花几个月的时间 掌握一门语言和它的编程环境,系统程序设计语言就 是为这些人设计的然而,自从个人电脑出现以后,越 来越多的非专业编程者加入到编程者的行列对这些 人来说,编程不是他们的主要工作,而只是他们偶尔用 来帮真的不掉线吗
29、? ?.?助他们工作的工具偶然编程的例子是简单的数 据库查询或者是巨大的扩展片偶然编程者不希望花 几个月的时间学习系统程序设计语言但他们可以花几 个小时的时间学到足够的脚本语言知识来写出有用的 代码.由于脚本语言由简单的句法并且省略了对象线 程等复杂的特性,因而它比系统程序设计语言要容易 学例如,比较visual basic和visual c+,很少有偶 尔编程者会选择visual c+,而大部分会用visual basic建立有用的应用程序.即使在今天,用脚本语言编写的应用程序的数 目也远多于用系统程序设计语言编写的应用程序的数 目在unix系统中有比c程序更多的外部脚本,而在windows
30、下visual basic的编程者和应用程序都比c 或c+的要多.当然,多数大型和广泛使用的应用程序 都是用系统程序设计语言写成的,所以,如果比较代码 总行数或是建立的副本数,则系统程序设计语言略胜 一筹不管怎么样,脚本语言已经是应用程序开发的主 动力,并且今后它的市场份额会继续提高.6 对象的作用脚本语言在编程语言和软件工程中通常被专家忽 视取而代之,他们更注重像c+和java等面向对象系 统程序设计语言面向对象编程被认为是代表下一步 编程语言发展的主流像强类型和继承等面向对象 特 征 据说可以减少开发时间,提高软件重用率,并解决 包括脚本语言技巧等其他问题.我还没有看到足够的数据可以确切地
31、回答这个问题.在我看来,对象只能提供一定的好处:或许能提高20-30%的创作力,但决不会有两倍,更不用说是十倍.现在抱怨c+的和喜欢它的一样多,并且一些语言专家 开始公开反对面向对象编程这一段剩下的部分用于 解释为什么对象不能像脚本一样显著地提高创作力, 并讨论脚本语言中可以获得的面向对象编程的好处.向对象编程不能显著提高创作力的原因是他没有提高编程层次或鼓励重用像c+等面向对象语言 中编程者仍然使用需要用大量细节来描述和操纵的基 本的小单元工作理论上可以开发强大的函数库包,并 且如果这些函数库被广泛使用就将提高编程层次然 而,这样的函数库却很少大多数面向对象语言的强类 型使包的定义受限制从而
32、难以重用每个包都需要特 殊类型的对象,如果两个包在一起工作,就必须写转换 代码在两个包需要的类型间进行翻译面向对象语言 的另一个问题是他们强调继承.当一个类借用为另一 个类写的代码时执行继承并不是一个好主意,它使软 件难以管理和重用它把类的执行绑在一起,因而没有 另夕个类任何一个其它类都不可理解:不知道其继 承的方法在父类中如何执行,则无法理解子类;而不知 道其方法如何被子类继承,则无法理解父类在一个复 杂的类继承中,不理解它所继承的所有其他的类就无 法理解任何一个类更糟的是,一个类无法从它继承的 类中被分离以用于重用多重继承使这个问题变得更 麻烦执行继承导致和goto语句被重复执行时所看到的
33、一样的交错和不可靠.因此,面向对象系统经常不能 处理复杂问题并缺少重用.另一方面,脚本语言实际引起了有效的软件重用在有趣的组件由系统程序设计语言建立使他们使 用了模块,随后用脚本语言把他们胶着在应用程序中.这种劳动的分割提供了为重用的自然的框架结构组 件被设计为可重用的组件和脚本间有定义好的接口以 利于组件的使用例如,在tel中组件是c中执行的常 规命令他们看起来更象是内在的命令,因而更容易在 真的不掉线吗? ?.?tel脚本中使用在visual basic中组件是activex的扩展,可用于从工具面板直接拖到窗体中.不管怎么样,面向对象编程至少提供了两个有用的特 性.第一个是封装:对象用某种
34、隐藏执行细节的方法把 数据和代码联系起来这使管理大型系统更加容易另 一个有用的特性是接口继承,这涉及提供同样方法的 类和apis,即使他们有不同的执行,这时类之间可以相 互转化,从而鼓励重用.幸运的是,对象的这些好处在脚本语言中可以像在系统程序设计语言中一样实现,并且所有的脚本 语言都提供面向对象编程例如,python是面向对象脚 本语言,python第五版包括提供对象,object rexx是rexx的面向对象版本,而incr tel是tel的面向对象版本有一点不同是,脚本语言中的对象事物类型的, 而系统程序设计语言中的对象是强类型的.7.其他语言这篇文章不是所有编程语言的全部特性记述除了
35、类型长度和编程层次以外还有许多编程语言的其他特 性,并且还有许多不能被明确定义为系统程序设计语 言或脚本语言的其他有趣的语言例如,lisp系统的语 言就处于脚本语言和系统程序设计语言之间,两方的 特性它都有一些它开创了像解释和活动类型等现在 在脚本语言中很普遍的观点,又有自动存储管理和综 合开发环境等在脚本和系统程序设计语言中同时使用 的观念.8 结论脚本语言代表一套与系统程序设计语言不同的协 定他们牺牲执行速度和与系统程序设计语言相关的 类型长度而提供更高的编程创作力和软件重用.当计 算机变得更快和比编程者的劳动力更便宜时这个协定 越来越行得通在复杂的数据结构和算法中系统程序 设计语言也适于
36、创建组件,而脚本语言更适合在联系 复杂的应用程序中进行胶着胶着工作变得越来越盛 行,因而脚本在下个世纪将成为比今天更为重要的编 程范例.我希望这篇文章可以在三个方面影响编程群体;在开始一个新的项目并为每个工作选择最强大的工 具时我希望编程人员能考虑到脚本和系统编程的不同 我希望组件框架的设计者能认识到脚本的重要性并 确信框架不仅是创建组件的工具,同时也是把他们胶 着在一起的工具我希望编程语言研究协会能转变他们对脚本语言的 态度,并在将来帮助发展更强大的脚本语言对语言设 计者而言,提高编程层次应该是唯一重要的目标,因为 他是提高编程者创造力的最重要的因素;强类型是否 有助于达到这个目标还不清楚.二什么是脚本语言脚本语言,像 perl, python, rexx, tel, visual basic和unix shells代表了与系统程序设计语言完全 不同的编程脚本语言假设已经存在了 一系列由其他 语言写成的有用的组件脚本语言不希望随机地产生 请求,他希望主要是把组件接在一起例如,tel和 visual basic可以被用于在屏幕上安排一系列用户图 形控制,而unix shells scripts被用于把过滤程序集 合真的不掉线吗? ?.?入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花卉节庆活动合同
- 教学用品订购合同
- 琴行钢琴出租协议
- 代购合同的履行期限
- 黄沙子供货合同
- 违纪保证书范本成长与反思
- 寄售合同的主要条款
- 货物购买协议格式
- 民间简易借款合同范例
- 电厂招标文件样本获取
- 学前教育中的体验式教学与实践
- 新能源船舶发展现状与趋势探讨
- 湖南长沙市湘一芙蓉二中学2023-2024学年数学七年级第一学期期末检测试题含解析
- 高速铁路牵引供电系统概论全套教学课件
- 科技馆科普服务工作总结报告
- 大学生职业生涯规划与就业指导(高等职业)全套教学课件
- 国开电大法学本科《国际私法》期末考试总题库(2024版)
- 不积跬步无以至千里课件
- 成人肺炎临床诊疗指南
- 我的成长与收获年度总结
- 《叙利亚战局分析》课件
评论
0/150
提交评论