100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 汇编语言 高级语言(系统语言) 脚本语言的异同

汇编语言 高级语言(系统语言) 脚本语言的异同

时间:2020-10-19 13:02:55

相关推荐

汇编语言 高级语言(系统语言) 脚本语言的异同

汇编语言、高级语言(系统语言)、脚本语言的异同

高级语言主要指需要编译的语言。如C/C++,Java,C#。脚本语言主要指解释型语言,编写的代码无需编译器编译,直接使用解释器放入虚拟机执行。

高级语言

相比汇编语言来讲,有两点不同,一为在更高的抽象等级,二为是强类型的。

更高的抽象等级

意味着屏蔽了许多的底层细节,主要包括寄存器内存管理、过程调用、简单的标识符,比如while、for。

平均来讲,一行高级语言的代码对应于五行汇编语言代码,汇编语言和机器指令几乎是一一对应的。实验表明,完成同样的工作,汇编语言需要的时间为高级语言的3-6倍。所以编写高级语言的效率是高于汇编语言的。

强类型

从以下几个方面体现:每个变量都必须声明其类型,数据和代码分离,变量可以被数据结构或者函数管理。

脚本语言

脚本语言多为无类型的,比如一个变量可能现在为字符串,下一刻又变为整型。

平均每行脚本语言代码执行成百上千条机器指令,高级语言则大约为五条。其中的原因之一是脚本语言使用了解释器,更大的原因是脚本语言的操作更加强大。

脚本语言的代码量和编程时间都少于高级语言。

不同的语言对应不同的任务

脚本语言并非要替代高级语言,他们都有适用的场景。

对于拥有复杂的数据结构和算法的程序,高级语言更容易去管理。因为高级语言不需要类型检查,运行时间比脚本语言快10-20倍。

当面对选择脚本语言还是高级语言时,考虑以下几个问题:

程序的主要任务是链接已有的内容吗程序是否要控制大量的不同的事物程序有GUI吗程序需要对字符串做大量操作吗程序的功能的发展是否迅速程序需要可扩展吗

回答是越多越建议使用脚本语言,反之同意以下的说法则建议使用高级语言

程序包括复杂的数据结构和算法吗程序需要管理大量的数据集吗,比如一张图片中的每一个像素;执行速度是否很重要程序的功能是否已经定义好了并且很少改变

在1980年代的unix操作系统时代,sh作为脚本语言,C作为高级语言

在1990年代的个人电脑时代,C作为高级语言,Visual Basic作为脚本语言

在当今互联网时代,Java作为系统语言,javascript,TCL,Perl等作为脚本语言

GUI出现在1980年代的早期,其目的不是创造新的功能,而是为内部功能和图形操作之间搭建桥梁。

互联网的出现极大的推动了脚本语言的发展,因为互联网本身就是一个粘合的工具。它并没有创造新的东西,而只是将已有的东西连接起来,更容易访问到。对互联网而言,最理想的语言就是可以让已连接的事物共同地工作,那就是脚本语言。比如javascript在网页中非常流行。

脚本语言可以很好的粘合软件中的各部分,如果没有它,会让架构失去一些特性。

脚本语言发展迅速,TCL、Perl等比起早期的脚本语言如JCL(Job Control Language)有很大的提升,比如JCL甚至没有迭代器,早期的unix shell也不支持过程调用。

随着计算机变得更快,越来越大的程序会使用脚本语言。

随着个人电脑的普及,越来越多的业余程序员加入,他们的主要工作并不是程序员,而只是通过程序来帮助主工作的完成,脚本语言通过几个小时的学习便可以写出一些有用的程序,而系统语言则需要好几个月,所以他们会更青睐脚本语言。

LISP是脚本语言中的解释型和动态类型的先驱者。

参考:

OUSTERHOUT J.K.. Scripting: higher level programming for the 21st Century[J]. Computer,1998,31(3):23-30.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。