编译型与解释型语言|动态类型与静态类型语言|强类型与弱类型语言

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

1.1 编译型语言

在程序执行前,有单独的编译过程,将代码变为机器语言,生成一个可执行文件。一劳永逸。
代表语言:C/C++

优点:
1、执行速度快C/C++编写的程序比JAVA运行速度快30~70%
2、消耗的内存更少

缺点:
1、编译器在调试时功能不足,调试很费劲。
2、相同代码,C/C++生成的EXE文件更大。
3、编译型代码不支持代码中实现安全性。一个编译型程序可以访问PC内存中任何一个位置。
4、由于松散的安全性和平台性,编译型语言不适合开发因特网和基于WEB的应用。

1.2 解释型语言

在运行时,将代码翻译成机器语言。
也有的有中间语言:JAVA在运行前将它编译成字节码(中间语言)

优点:
1、平台独立性
2、高度安全性
3、中间代码体量较小
4、调试方便

缺点:
1、运行速度慢
2、占用更多的CPU和内存

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

2.1 动态语言

动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
举例:python,PHP,JavaScript
优势:
1、编程过程,思维不受限制,可以任意发挥,代码开发快

2.2 静态语言

静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型
优势:
1、由于类型的强制声明,故在实现复杂的逻辑,开发大型商业系统以及生命周期长的应用中,对开发具有很大保障。
2、相对封闭,使得第三方开发包对代码侵害性降到最低。

3 强类型语言与弱类型语言

3.1 强语言

定义:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。
强类型定义语言是类型安全的语言。

优势:可以避免许多错误。

3.2 弱语言

定义:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

优势:速度上略逊于强类型语言。

注意1:强弱类型与静态动态语言没有关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值