标签:asc 速度 程序 特定 移植 net span 不能 moni
####**常见的几种分类**###
1. 高级语言和低级语言
2. 动态类型和静态类型
3. 强制类型和弱类型
4. 编译型,解释型,半编译半解释
5. 面向对象型和面向过程型
----------
####**1. 高级语言和低级语言** ##
常见的低级语言有:机器码、汇编语言
高级语言常见如:c,c++,java,python,PHP,c#,Ruby,go,kotlin,swift。
机器码:计算机能够直接识别的二级制编码,无论语言多高级都要转成二级制文件来让计算机识别运行。
汇编:用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,在不同的设备中有着不同的指令集
高级语言:为省去编程时候的不必要的操作细节,节省代码量,可读性强,维护性强,更贴近人性化
高级语言与低级语言的区别:高级语言大部分不能直接更硬件打交道,这使得相对来的程序运行速度降低,总之一句话来说那种语言更接近人性化的语言就更高级。
----------
####**2.动态类型和静态类型**##
动态性语言是指在程序运行期间才给变量指定数据的类型,常见于python和Ruby,而静态类型语言则恰好相反,在写程序代码的时候就要指定变量的类型,这种语言有:c,c++,java
----------
####**3.强制类型与弱类型**##
我们可知C语言中,一个变量只能定义为一种类型,如float类型,那么它就只能是float类型而不能在不发生转化的情况下赋予int类型,这就是 **强制类型** 的具体体现。
而python不是,python中的变量可以任意的复制,而没有类型的界限。这就是**弱类型**
强制类型更严谨,更不容易出现错误,但弱类型的语言写起来更优雅,更舒畅
----------
####**4. 编译型,解释型,半编译半解释**##
对于源程序,编译型语言在执行程序中会将源文件一次性的转化为机器码,而解释型语言是边编译边解释;
编译型语言是离不开解释程序的,这也导致了解释性语言对于运行时候的速度比价慢,解释型语言只要有解释器,移植起来比较方便,而编译型语言则要对于不同的系统进行编译,是的工作繁琐,且在调试程序的时候比较慢
编译型语言可见于c,c++等
解释型语言可见于python,JavaScript,Perl,shell等
而java是半编译半解释型的语言,java会将源文件在jVM中转化为字节码,即.class文件,在程序运行的时候转化为二进制文件。和C#中的.net有点区别,C#编译的成的.net目标代码,接近与二进制文件,可移植性没有java好,java是“一次编译,到处执行”,c#是“一次编码,到处编译”。
----------
####**5. 面向对象型和面向过程型**##
面向过程是决定该怎么铺成一条路到达终点,而面向对象是要用那些具有特定功能的像来做,两者是不同的思想。
c++是部部分面对对象的,java具有封装性是完全面对对象的,c语言是面对过程的语言
标签:asc 速度 程序 特定 移植 net span 不能 moni
原文地址:http://www.cnblogs.com/kevin-leak/p/7758114.html