脚本语言与混合编程

脚本语言与混合编程

ID:15912929

大小:34.50 KB

页数:5页

时间:2018-08-06

脚本语言与混合编程_第1页
脚本语言与混合编程_第2页
脚本语言与混合编程_第3页
脚本语言与混合编程_第4页
脚本语言与混合编程_第5页
资源描述:

《脚本语言与混合编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文由banpeiyong贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。脚本语言:脚本语言:21世纪的高级编程语言Sun公司JohnK.Ousterhout著武占春编译随着计算机速度的提高以及对应用快速变更的要求,脚本语言变得越来越重要了.与系统编程语言不同,脚本语言的作用是把应用"沾"在一起,从而使得它们比系统语言能够更快的开发出应用程序来.脚本语言的设计初衷与系统语言是不同的.系统语言的目的是从无到有编写数据结构和算法,例如从利用内存里的一个word开始.与之

2、相反,脚本语言的目的是"粘连".脚本语言假设已经存在一批功能强劲的组件,而脚本语言则把它们连接在一起.系统语言是强类型语言,这样才能有效管理程序的复杂性.而脚本语言是无类型的,这样才能简化组件之间的连接,提高开发速度.系统语言和脚本语言是互补的.1960年代以来的计算平台都包括了这两种编程语言.这些语言同时在一个组件框架下使用:组件由系统语言编写,再用脚本语言粘连在一起.但是近年来的一些趋势,使得脚本语言变得越来越重要了.这些趋势,如运行更快的机器,GUI的发展,更好的脚本语言,Internet的迅速发展

3、,良好的组件框架等等.这些趋势在下个十年还会是主旋律,今后,很多的应用完全是由脚本语言编写的,而系统语言则只是用来开发应用组件.系统编程语言要想理解脚本语言和系统语言的区别,最好还是先回顾一下系统语言的发展历程.系统语言的出现是为了替代汇编语言.使用汇编语言编程,程序需要反映机器硬件的各个方面,汇编语言的每个语句都代表了一条机器指令,程序员需要处理诸如寄存器,过程调用顺序等底层问题.结果是,编写和维护汇编语言程序非常困难.1950年代后期,高级编程语言,如LISP,FORTURN,ALGOL开始出现.这些

4、语言的语句不再与机器指令一一对应,而是由编译器负责把语句转换成一系列二进制指令.经过一段时间的发展,出现了一系列系统语言,从ALGOL,到PL/1,PASCAL,C,C++和Java.系统语言没有汇编语言那样高效,但能够很快的编写出应用程序来,所以后来系统语言实际上几乎完全取代了汇编语言.高级语言系统编程语言与汇编语言的差异体现在两个方面.系统编程语言是高级语言,是强制类型的.所谓"高级"指的是很多细节是被自动处理的,所以程序员只需编写较少的代码就能完成任务.例如:寄存器分配由编译器处理,这样程序员就不用

5、编写程序让信息在寄存器和内存之间移动.进程调用是自动生成的,程序员不必为在堆栈中移动参数而劳神.程序员使用简单的关键字如while和if进行程序结构控制,编译器生成所有详细的指令去实现这些控制结构.平均而言,一行系统编程语言可以等效为5行机器指令,而汇编语言中一行程序等于一行机器指令.(在一次非正式分析中,我发现一行C程序等效于3-7行机器指令.CaperJones的数据是3-6).一个程序员不管用什么语言编程,他一年能写出来的代码行数是一定的.因此,使用高级语言能够比汇编语言更快的开发出应用来.类型化汇

6、编语言与系统编程语言的另一个区别是类型.我使用"类型化"(typing)这个词儿,用来表征信息在使用前被明确定义的程度.在强类型语言中,程序员需要定义每一个要用到的信息类型,防止这些信息另作它用.在弱类型语言中,信息不是预先被定义出来,而是在使用这些信息时才确定下来.现代计算机基本上都是无类型的.内存中的每个word可以保留任何一种类型的值,可以是Integer,floating-point,一个pointer或者是一个指令.值的含义是在使用的时候确定下来的.如果程序在内存的word中遇到了指针,则把它当

7、作指令,如果一个word被引用Integer+指令则它被当作一个整数.同一个word在不同时间被用作不同用途.与之相反,系统编程语言则是强类型的.例如:系统编程语言中的每个变量必须被声明为某种特定的类型,如integer或指向string的指针等.变量可以集合起来定义成为structs或者对象,里面有定义好的结构以及操作的方法一种类型的对象不可能被另一种对象使用.这种强类型是有它的优势的.首先,它让大型程序变得可管理.因为强类型明确了一个事务如何被使用,区分了事务本身及其使用方式.第二,编译器使用类型信息

8、检测可能的错误,比如使用floatingpoint作为一种指针类型就是错误的.第三,类型能够让编译器生成特定的代码从而提高了性能.例如,如果编译器知道一个变量经常保存的是integer值,编译器就可以生成一个整数指令去操作这个变量.如果编译器不知道这个变量是integer,那么它就要生成大量多余代码用于在运行时检测这个变量的类型.脚本语言脚本语言,比如Perl,Python,Rexx,Tcl,VB,Unix的shell等代表了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。