动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍
作者:junjie 时间:2023-04-24 19:48:44
关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。
1. 动态语言
又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。
而其实我们平时说的“动态语言”应该指的是“动态类型语言”。至少我之前一直是这么认为的。
2. 动态类型语言
在运行时,确定类型的语言。
即编译时与类型无关。一般在变量使用之前不需要声明变量类型,而变量的类型通常是由被赋的值的类型决定。 如php、Python和Ruby。
3. 静态烈性语言
与动态类型语言正好相反,在编译时,便需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。
4. 强类型语言
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
强类型定义语言是类型安全的语言。
5. 弱类型定义语言
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
另外,由上边看出“这门语言是不是动态类型语言”与“这门语言是否类型安全”之间是完全没有联系的!
标签:动态语言,动态类型语言,静态类型语言,强类型语言,弱类型语言


猜你喜欢
python爬虫将js转化成json实现示例
2021-10-20 15:32:31

Vue.extend实现组件库message组件示例详解
2024-05-09 15:09:26

你还在 Select * 吗?
2024-01-24 22:10:50

MySQL常见错误有哪些_MySQL常见错误的快速解决方法
2024-01-25 09:16:31

php生成curl命令行的方法
2023-07-23 22:19:42
python快速建立超简单的web服务器的实现方法
2021-03-14 23:25:14
python虚拟环境的安装配置图文教程
2023-09-23 09:03:04

Python 通配符删除文件的实例
2022-04-24 03:00:22
PHP实现设计模式中的抽象工厂模式详解
2024-06-05 09:39:58

python实现图像最近邻插值
2023-02-01 00:03:34

详解python列表生成式和列表生成式器区别
2021-09-13 16:15:14
Python语言规范之Pylint的详细用法
2022-11-26 03:12:25

mysql中判断记录是否存在方法比较
2024-01-27 05:14:49
ASP.Net Core MVC基础系列之中间件
2024-05-09 09:04:47

Python3监控疫情的完整代码
2023-09-24 09:53:19

vue.js实现日历插件使用方法详解
2024-05-13 09:38:43

对python中基于tcp协议的通信(数据传输)实例讲解
2023-04-18 14:36:10

SQL中concat、concat_ws()、group_concat()的使用与区别
2024-01-21 02:20:26

SQL Report Builder 报表里面的常见问题分析
2024-01-23 19:10:47
自动化测试读写64位操作系统的注册表
2024-05-13 09:36:32
