静态语言与动态语言

静态语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。例如:C++JavaDelphiC#等。

动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。例如:PythonRubyPerlJavaScript等。

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

弱类型定义语言数据类型可以被忽略的语言。它与强类型定义语言相反一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。

静态语言的优势

1由于类型的强制声明,使得IDE有很强的代码感知能力,故在实现复杂的业务逻辑开发大型商业系统以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;

2由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低;

动态语言的优势

1动态类型语言,特别是高级动态类型语言,反而能够让人们不需要分心去考虑程序编程问题,而集中精力思考业务逻辑实现,思考过程即实现过程

2思维不受束缚,可以任意发挥,把更多的精力放在产品本身上;

那静态类型语言的优势究竟是什么呢?我认为就是执行效率非常高。所以但凡需要关注执行性能的地方就得用静态类型语言。其他方面似乎没有什么特别的优势。

 

你可能感兴趣的:(C++学习笔记,编程经验总结)