动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍

作者: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. 弱类型定义语言

数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
另外,由上边看出“这门语言是不是动态类型语言”与“这门语言是否类型安全”之间是完全没有联系的!

标签:动态语言,动态类型语言,静态类型语言,强类型语言,弱类型语言
0
投稿

猜你喜欢

  • 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
  • asp之家 网络编程 m.aspxhome.com