编程语言根据形式上(语法等)的不同,分为C,C++,PHP,JAVA,Python,Ruby等。
根据编程思想的不同,还分为OOP面向对象,POP面向过程,SOA面向服务,AOP面向切面等。
这篇文章聊的是编程语言的类型,如强类型,弱类型,静态,动态,隐式,显式等。
强类型编程语言 & 弱类型编程语言
强类型语言是指编程语言在处理数据类型的运算时的校验非常严格,相反的弱类型语言的校验就会较为宽松,例如:
java
int a = 2 String b= '3' a+b //将会抛出异常 a+int(b) // 需要显式的去转换数据类型
** Python **
a = 2 b = '2' a+b # 同样会抛出异常 a+int(b) # 需要转换数据类型
** PHP **
a = 2 b = '3' a+b /* 运算结果为 5 b将会被隐式的转换为整形之后进行运算 */
由上述的比较可以得知,Java,Python 都是强类型语言,而PHP为弱类型语言。
简单提一下PHP隐式转换数据类型的规则:在不丢失数据精度的前提下,会将低精度转换为高精度的类型,如整型+浮点型,整型将会转换为浮点型,整型+字符,字符将会转换为整型。
静态编程语言 & 动态编程语言
在定于数据类型的时候需要声明数据类型的,大多数为静态编程语言,而直接采用变量=值的语法,几乎都是动态编程语言,例如:
Java
int a = 2 a = 'hello' // 此时将会抛出异常
Python
a = 10 a = 'hi' # 无异常
PHP
a = 10 a = 'it work' /* 无异常 */
由例子可以看出,Java为静态编程语言,PHP,Python为动态编程语言
根据上面的两个比较例子,可以分析出来Java是静态强类型语言,PHP是动态弱类型语言,而Python则是动态强类型语言。