常见编程语言都是什么类型的?不同类型的语言有什么区别?
根据变量的类型是否可以改变分为静态语言和动态语言
- 静态语言:变量的类型需要事先声明,之后变量值可变更的,但值得类型不能再变更,编译时会进行变量类型的语法检查
- 动态语言: 变量的类型不需要实现声明,而且可变,赋值即定义,编译时不进行变量类型检查,只有程序运行时才会发现是否有问题
根据不同类型数据是否需要强制转换分为强类型和弱类型
强弱使用print('a'+1)
来测试
- 强类型语言: 不同类型的数值进行操作之前必须先强制转换为同一类型
- 弱类型语言: 不同类型的数据可以操作,自动隐式转换
强类型静态语言:C#,Java,Scala,F#,Haskel
弱类型静态语言:C,C++
强类型动态语言:Python,Ruby,Erlang,Groovy
弱类型动态语言:Perl,PHP,VB,JavaScript