编程语言静态/动态类型,强/弱定义分类以及七种程序错误类型

Dikstra说过:如果debugging是移除bug的过程,那打代码一定是把bug们放进去的过程。

 

编程语言如果按照类型检查分类可以分为两种static typing静态类型 和 dynamic typing动态类型

其中Java,C/C++,C#,Golang等为静态。动态类型有Python,Ruby,PHP,JavaScript,VBScript等

 

按照强弱定义(Explicit type conversion/Implicit type conversion)分类的话,强定义类型是C/C++,Java,C#,Python,.弱定义有PHP,ASP,Ruby,ABAP,SQL,JaaScript,Unix Shell

 

 

动态类型语言就是运行时才做数据类型检查,永远不用给任何变量制定数据类型。该语言会在第一次赋值给变量时,在内部将数据类型记下。

静态类型语言就是在编译期就做检查数据类型的语言。要在写程序的时候生命所有的数据变量,是固定的。

程序都有需要进行对错误的检查。

 

强弱定义即是否类型安全。强定义类型定义语言是强制数据类型定义的语言。一旦一个变量被指定了某个数据类型,如果不经过强制转换,那它永远都是这个数据类型。

弱定义类型定义语言则是数据类型可以被忽视。

 

静态类型在编译时期时,就能可靠地发现类型错误。因此通常能增进最终程序的可靠性。静态类型通常可以编译出速度较快的代码。当编译器清楚知道所要使用的资料类型,就可以产生最优化过后的机器代码。

 

静态类型允许构造函数库,它们的用户不太可能意外的误用。这可作为传达库开发者意图的额外机制。

 

动态类型允许编译器和解译器更快速的运作。因为源代码在动态类型语言中,变更

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值