动态语言,静态语言,强类型语言,弱类型语言的区别

静态语言
静态语言是在编译时期就检查数据类型的,所以必须在声明变量的时候指定数据类型,否则编译会不通过。例如C/C++,Java等

动态语言
动态语言是在运行时期才检查数据类型的,所以在声明变量的时候可以先不指定数据类型,因为在运行期间变量的数据类型是可变的。它会在运行的时候根据赋予变量的值,来判断这个变量的数据类型,然后记录下来。例如Javascript,PHP,Python等。

强类型语言
强类型语言是指,变量的数据类型一旦确定下来,就不能改变了,除非经过强制类型转换。例如Java,C#,Python等。

弱类型语言
弱类型语言是指一个变量可以赋予不同数据类型的值,因为它可以进行隐式的自动类型转换。例如Javascript,C/C++等。

无类型语言
其实除了上面说的以外,还存在一种无类型语言,例如汇编。网上关于汇编是否无类型语言的争议还是比较多的,我倒是支持它是一种无类型语言,毕竟汇编是一种机器语言,在汇编中只有字节,字,双字等,也不存在数据类型的说法。

**

总结

**
1.动态/静态语言,考虑的是什么时候检查数据类型。

2.强类型/弱类型语言,考虑的是对数据类型的要求严不严格。

3.动态/静态语言,跟类型是否安全没有必然关系。

4.强类型语言可以说是类型安全的语言,因为它对数据类型要求很严格,不能进行隐式的类型转换。同此可见,弱类型语言则是类型不安全的语言。

5.强类型/弱类型语言和动态/静态语言之间也没有必然关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值