三组语言概念的区分

- 编译型语言与解释型语言

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果。

解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。

区别:

编译型语言首先将源代码编译生成机器语言(一个二进制文件),再由机器直接运行机器码。由于只做一次编译,执行效率高。但这个二进制文件在其他平台上运行可能会出现错误,需要在新平台上编译一份新的二进制文件。编译型语言常用于开发操作系统、大型应用程序、数据库系统等,使用时较方便快捷,但升级时由于需要重新下载、安装、覆盖,比较耗费CPU资源。编译型语言的代表有C语言、C++。

解释型语言先翻译成中间代码,再由解释器对中间代码一边进行解释,一边运行,效率比较低。但由于它是一边翻译一边运行,有良好的平台兼容性,加上现在的硬件能力比较强,速度一般不会太慢,常用于网页脚本、服务器脚本及辅助开发接口等,用户通过刷新即可获得最新资源。 解释型语言的代表有Java、Python、MATLAB等。

- 动态类型语言与静态类型语言

动态类型语言:程序运行时,赋予变量某个值才能确定其类型。编码时有很大的灵活性,但代码运行时容易出现与变量类型相关的错误。主要语言:Python、JavaScript、swift等。

静态类型语言:代码编译期间,变量的类型已经确定。编码时需要耗费精力注意变量类型,而且类型声明会增加代码数量,但运行时可以避免变量类型出错。主要语言:C、C++、C#、Java等。

- 强类型语言与弱类型语言

强类型语言:一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。比如:定义一个整型变量,如果不转换,程序不能将其作为字符串处理。强类型定义语言是类型安全的语言,其带来的严谨性能够有效的避免许多错误。主要语言:Java、C#、Python等。

弱类型语言:数据类型可以被忽略,一个变量可以赋予不同数据类型的值。比如:给整型变量赋字符串值,变量变成字符串类型;可以将字符串变量与整型变量连接得到另一个字符串。弱类型语言比较灵活,简便;但为了兼容弱类型,语言执行引擎要做了大量的兼容工作,增加了语言内部处理的复杂度,执行效率较低,且难以通过编译发现bug。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值