动态语言和静态语言的区别
区别一
- 静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,像java,c#就是静态语言
- 动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,像javaScript,PHP就是动态语言
区别二
- 静态类型语言编译时会进行类型匹配检查,所以不能给变量赋予不同类型的值(除非用向上转型的技术来取得多态的效果)。
- 动态类型语言的变量类型在运行期是可变的,这意味着对象的多态性是与生俱来的。
优势
静态语言的优势
- 静态类型语言因为类型强制声明,在代码感知能力上要强很多,在开发大型系统,复杂系统比较有保障
动态语言的优势
- 编写的代码数量少,看起来更简洁,可以把精力更多地放在业务逻辑上。
- 动态语言更加灵活