有关强类型语言,弱类型语言,静态语言,动态语言的看法

来源:互联网 发布:李敖对女性的态度知乎 编辑:程序博客网 时间:2024/05/19 00:17
一般编程语言分为强类型语言和弱类型语言。强类型语言指这门语言需要检查两种类型是否兼容,如果兼容,就能赋值或运算;如果不兼容,则会抛出一个错误或者需要强制类型转换。java和Ruby都是强类型语言;C,javascript等是弱类型语言;编译器并不会关心在某一内存位置上的数据到底是一个整数,一个字符还是一个普通数据。动态语言和静态语言是另一方面的划分。比如判断是否是一只狗,静态语言需要确定这个动物的基因就是狗的基因(静态),才判定为该动物是一只狗;而动态语言只需要判定一些狗的特征就能确定是否为一只狗,如:用四肢跑动,汪汪叫,热的时候吐舌头,(其实人也能模仿这些特征,这个时候对于动态语言,人也可以看做是动物狗)。javascript、Ruby、Python都是属于动态语言,C、C++、Java属于静态语言。静态语言的好处在于编译器和工具对你的代码更加了解,可以用于捕捉错误,而代价就是会受到限制。java的EJB组件,spring,Hibernate,AOP等框架都是试图让应用模型更具有适应性,更趋于动态化。
0 0
原创粉丝点击