1.动态语言和静态语言:
1.动态 类型语言:是指在 运行期间 才去做 数据类型检查 的语言。
在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言;
2.静态 类型语言:与动态类型语言刚好相反,它的 数据类型检查 发生在在 编译阶段,
也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型代表。
2.强类型语言和弱类型语言:
1.强类型 :不允许两种不同类型的变量相互操作,如Java、C# 和 Python,比如Java中“int i = 0.0;”是无法通过编译的;
2.弱类型:数据类型可以被忽略的语言。与强类型语言相反, 一个变量可以赋不同数据类型的值,允许将一块内存看做多种类型,比如直接将整型变量与字符变量相加。C/C++、PHP都是弱类型语言,比如C++中“int i = 0.0;”是可以编译运行的;
#include <iostream>
using namespace std;
int main()
{
char a1;
int i1;
int i2;
a1='A';
i1=10;
i2=a1+i1;
cout << i2 << endl;//65
return 0;
}
注意,强类型语言在速度上略逊色于弱类型语言,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构建大型项目,使用强类型语言可能会比使用弱类型更加规范可靠。
另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系!
3.编译型语言和解释型语言:
高级语言转换为汇编语言(机器码),转换的方式有两种:
1.编译:C、C++,先编译再运行,运行速度快
2.解释:python,PHP,边运行边编译,跨平台性好
3.java:先编译,再解释运行在JVM上

1694

被折叠的 条评论
为什么被折叠?



