静态动态强弱类型语言
2018-03-20 17:56
429 查看
基本概念
静态语言(强类型语言)
静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
例如:C++、Java、Delphi、C#等。
动态语言(弱类型语言)
动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。
强类型定义语言
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
弱类型定义语言
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
两者区别
特性
强类型语言是一旦变量的类型被确定,就不能转化的语言。
弱类型语言则反之,一个变量的类型是由其应用上下文确定的。
静态语言的优势
动态语言的优势
静态语言(强类型语言)
静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
例如:C++、Java、Delphi、C#等。
动态语言(弱类型语言)
动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。
强类型定义语言
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
弱类型定义语言
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
两者区别
特性
强类型语言是一旦变量的类型被确定,就不能转化的语言。
弱类型语言则反之,一个变量的类型是由其应用上下文确定的。
静态语言的优势
由于类型的强制声明,使得IDE有很强的代码感知能力,故,在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障; 由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低;
动态语言的优势
思维不受束缚,可以任意发挥,把更多的精力放在产品本身上; 集中思考业务逻辑实现,思考过程即实现过程;
相关文章推荐
- 强弱类型,动态静态语言比较(JAVA,C,C++,Python,Ruby,PHP,Perl)
- 关于语言的动态静态类型,强弱类型(c,c++,java,php等)
- 【转载】编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
- Coding语言强弱类型且动静态类型简单解析。附图解
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 黑马程序员-OC语言-动态类型和静态类型(听课笔记)
- 静态编程语言、动态编程语言以及静态类型语言和动态类型语言
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 四大类型的语言,动态,静态,强类型,弱类型
- 弱类型、强类型、动态类型、静态类型语言的区别是什么?
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
- 强类型、弱类型、静态、动态语言定义(转载)
- 强类型、弱类型、静态、动态语言定义
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
- 动态类型语言与静态类型语言
- 动态语言和静态语言—强类型定义语言和弱类型定义语言