静态类型的语言和动态类型语言的区别

静态类型和动态类型的区别

  • 编译型语言
  • 解释型语言
  • 混合型语言
  • 静态类型语言
  • 动态类型语言

编译型语言

源代码需要通过编译器编译成机器可识别的机器码,包括编译和链接两个过程。不同操作系统下的可执行文件不一样。代表语言有:C,C++
优点:执行速度快
缺点:修改了某一个模块就得重新编译

解释型语言

相对于编译型语言少了编译过程,源代码运行时由解释器逐行解释。代表语言有:JavaScript,Python,php
优点:部署快,不停机维护,有很好的平台兼容性
缺点:每次运行都需要解释一遍,性能上不如编译型语言

混合型语言

混合型语言就包括了编译过程和解释过程。比如:C#先是编译成中间码,并不是直接编译成机器码。java有先编译成中间字节码.class文件过程,最后在java虚拟机中解释执行。

静态类型语言

指的是代码运行之前就做的数据类型检查,运行前数据类型就已经确定了。比如:C,C++,JAVA;这个好比对应着具有编译过程的语言

动态类型语言

指代码运行的时候数据类型才会确定,数据类型绑定是代码运行的时候确定的。比如:JavaScript,php,这个好比对应着解释器类型的语言。

你可能感兴趣的:(静态类型的语言和动态类型语言的区别)