机组概念的区分

一、解释型语言和编译型语言的区别
编译型语言:
编译型语言先要进行编译,然后转为特定的可执行文件,这个可执行文件是针对平台的(CPU类型)。它使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。
特点:在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。
总结: 1)一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高; 2)与特定平台相关,一般无法移植到其他平台; 3)现有的C、C++、Objective等都属于编译型语言。

解释型语言:
解释型语言需要一个解释器,在源代码执行的时候被解释器翻译为一个与平台无关的中间代码,解释器会把这些代码翻译为及其语言。使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。
特点:解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一 平台提供了相应的解释器即可运行该程序。
总结: 1)解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低; 2)只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植; 3)Python等属于解释型语言。

二、动态类型语言与静态类型语言
静态语言:
  变量的类型在编译之前就需要确定,在编译的时候需要先编译,将源码转换成目标代码,然后需要运行目标代码程序才能运行,比如C++、Java、Delphi、C#。
动态语言:
  不需要直接指定变量类型,在解释的时候,转换为目标代码和运行程序一步到位,比如Python、Ruby、Perl。可以在运行时改变结构,这个小白想不懂,但是也写上。我的理解是在程序运行的时候可以改变程序的代码,程序不用停止。

三、强类型语言与弱类型语言
强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。
弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。
强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是;类型安全的语言;
弱类型语言包括:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值