静态语言和动态语言
静态语言(强类型语言)
语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
例如:C++
、Java
、Delphi、C#
等。
优点:
避免程序运行时发生变量类型相关的错误
先前明确了变量的类型,编译器可以针对这些信息对程序做出一些优化,从而提高程序执行的速度
缺点:
撸码的时候,需要格外注意变量的类型
过多的类型声明会增加更多的代码
动态语言(弱类型语言)
动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
例如PHP
/ASP/Ruby
/Python
/Perl
/ABAP/SQL
/JavaScript
/Unix Shell等等。·
优点:
给实际的编码带来了很大的灵活性,我们只关注对象的行为,而不关注对象本身
缺点:代码运行期间有可能会发生与类型相关的错误