编译型语言与解释型语言、动态类型语言与静态类型语言、强制型语言与弱类型语言的区别
一、编译型语言与解释型语言
1、编译型语言:简单点说就是代码在编译运行时文本代码直接编译为机器语言然后运行的语言,其无需先编译为中间语言然后再编译为机器语言。这类语言就是编译型语言,如C、C++、Java等
2、解释型语言:文本代码在编译运行过程中必须先编译为中间语言(类似于对文本代码先解释一遍)然后中间代码才可以转化为机器语言再运行。如MATLAB、python等
总而言之就是在编译运行过程中,文本代码转化为机器语言的过程中,不需要转化为中间语言才可以转化为机器语言的语言为编译型语言。需要借助中间语言才可以转化为机器语言的语言为解释性语言。
二、动态类型语言与静态类型语言
1、动态类型语言:简单来说就是变量类型不需要提前指定的语言。对变量进行赋值时,内部会自动根据所附的值保存其类型。更通俗来说就是我们在写代码过程中用到的变量无需提前指定其类型却也不会出错的语言。典型代表有Python、Ruby、Perl等
2、静态类型语言:就是动态类型语言的对立面,我们使用变量前必须指定变量类型。就像我们在使用C或C++语言代码时使用变量a前,我们必须指定a的类型:int a(或double a、char a)。典型代表就是我们常见的高级语言:C、C++、C#、java等
三、强类型语言与弱类型语言
1、强制类型语言:在编写代码过程中,一个已经被指定类型的变量如果不进行强制类型转换,那么这个变量只能为原先的类型而不可以为其他类型。否则就会出错。典型代表为Python、java等
2、弱类型语言:在编写代码过程中,一个已经被指定类型的变量,对其进行赋值时也可以为其他类型。就比如说,变量a的指定类型为整型(int a),对其进行赋值时也可以将1.032赋值给a而不会出错。典型代表为VB语言。