系统程序设计语言VS脚本语言

from: http://blog.tianya.cn/blogger/post_read.asp?BlogID=149890&PostID=6636575

当程序设计语言从二进制代码,到汇编语言中,计算机的每个细节,每个状态都代表一个简单的机器指令。因此程序员必须处理寄存器分配和程序调用等底层细节。因此用汇编语言开发大型软件是很困难的,也是很难以维护和更新的。因此高级语言的出现把程序员从这种痛苦的过程中解救出来。程序员不需要写代码在寄存器和内存之间不停的转移数据,处理寄存器的分配。不需要担心程序调用顺序,调用栈之间的参数转换。可以使用简单的关键字来控制结构,这些细节工作都由编译程序自动完成。

  
  系统程序设计语言的另外一个特征在于类型的意义在它被使用前就被特殊化。在强类型语言中编程人员声明如何使用每个数据,并避免此数据被用于其他方式。在弱类型语言中数据应用是没有优先权限制:信息的意思完全由它的使用方法确定,而不是任何初始约定。计算机存储从根本上说是无类型的,因为内存中的任何字对任何类型的值比如整型,浮点数,指针或结构体都是有效的。值则依据它的使用方法确定。如果指向一个内存字,那么他就被认为是结构体;如果一个字涉及一个整型加结构体,那么他就被认为是整型。相同的字在不同的时间可用于不同的方法。
  
  但大部分的系统程序设计语言是强类型定义的。系统程序设计语言中的每个变量都必须被声明为整型或指针或字符串等特殊类型,并且必须用于适合这种类型变量的方法。数据与代码完全分离:创建新的代码很困难或根本不可能。变量可以集中在结构体中或者定义好的子结构体和过程或方法的对象中以便于使用。确定类型由几个好处。第一,更易于管理和使用变量.第二,编译器可以利用类型信息来侦测某些类型的错误。 比如,试图把一个浮点值作为一个指针。第三,定义类型能使编译器创建更高效的的执行代码。例如,如果编译器知道一个变量总是对整型值有效,那么他就可以产生一个整型指令来操纵这个变量;如果编译器不知道变量的类型。那么他就必须产生额外的指令在运行时检查变量类型。
  
  而脚本语言则被设计成无类型的,常用于扩展组件,很少用于复杂的算法和数据结构。并且脚本语言是被解释而系统设计语言是被编译。脚本语言不如系统设计语言效率高,部分是因为他们使用解释器而不是编译器,而脚本语言比系统程序设计语言更高级,平均一个指令可以做更多的工作。两者各自适合不同类型的编程,应用程序比较本语言快5-10倍,系统设计语言则需要大量重复和转换代码来连接各部分,而这部分可以使用脚本语言来完成。
  
  当程序需要把已经存在的组件联系起来,抑或要操纵不同种类类型的事物,包含图形用户界面,做大量字符串操作,需要可扩展。以及函数是否需要快速解决问题时,此时最好的解决方式是采用脚本语言。想反,如果程序执行复杂的算法或数据结构,需要操控大量数据集,执行速度也很重要,并且函数以及定义好,很少改动时,系统程序设计语言则是最好的选择。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值