编程语言相关名词解释汇总

今天给大家分享下,我们常见却不一定清楚的名词:

先上个图

我们看这个图,是一个语言坐标系,分别按编程语言的性质粗分为四个轴:动态、静态、强类型、弱类型。像笔者使用的Javascript就属于弱类型动态语言。

那么,我们思考,这么多的编程语言有这么多的性质,它们之间存在怎样的差异呢?

经过一番Google & Baidu后,笔者得出了答案,即为今天的总结:

In a word: 强/弱类型指的是语言类型系统的类型检查的严格程度。动态/静态类型指的是变量与类型的绑定方法

 

强/弱类型

  • 强类型 (strongly typed) : 如果一种语言的所有程序都是 well behaved——即不可能出现 forbidden behaviors,则该语言为 strongly typed。
  • 弱类型 (weakly typed) : 否则为 weakly typed。比如C语言的缓冲区溢出,属于 trapped errors,即属于 forbidden behaviors.. 故C是弱类型。
弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换。譬如说C语言的int可以变成double。 这样的结果是:容易产生 forbidden behaviours,所以是弱类型的。
强类型语言一般不允许这么做。

动态/静态类型

  • 静态类型 (statically) : 如果在编译时拒绝ill behaved 程序,则是 statically typed;
  • 动态类型 (dynamiclly) : 如果在运行时拒绝ill behaviors, 则是 dynamiclly typed。

静态类型指的是编译器 compile time 执行类型检查,动态类型指的是编译器(虚拟机)在 runtime 执行类型检查。

最后,我们得出结论:

在声明了一个变量之后,不能改变它的类型的语言,是静态语言

能够随时改变它的类型的语言,是动态语言

因为动态语言的特性,一般需要运行时虚拟机支持。

 

 

(PS:引用轮子哥的总结:

强类型:偏向于不容忍隐式类型转换。譬如说haskell的int就不能变成double

弱类型:偏向于容忍隐式类型转换。譬如说C语言的int可以变成double

静态类型:编译的时候就知道每一个变量的类型,因为类型错误而不能做的事情是语法错误。

动态类型:编译的时候不知道每一个变量的类型,因为类型错误而不能做的事情是运行时错误。譬如说你不能对一个数字a写a[10]当数组用。)

 

转载于:https://www.cnblogs.com/tim100/p/7213705.html

### 关于汇编语言 汇编语言是一种低级编程语言,它与特定类型的处理器架构紧密关联。每条汇编语句几乎一一对应机器码指令,在编写时使用助记符来表示这些操作[^1]。 ```assembly MOV AX, BX ; 将BX寄存器的内容复制到AX寄存器中 ``` 这种语言允许程序员直接控制硬件资源,如CPU寄存器和I/O端口,因此非常适合用于开发操作系统内核、驱动程序以及性能敏感的应用场景。 ### 微机系统概述 微机系统指的是微型计算机的整体结构体系,包括但不限于中央处理器(CPU)、存储设备(内存及外存)、输入输出接口以及其他辅助组件。这类系统通常运行某种形式的操作系统以管理和调度各类软硬件资源,从而提供给应用程序一个稳定的工作平台[^2]。 在早期的个人电脑时代,许多微机工作在一个被称为实模式的状态下,此时可以直接访问物理地址空间而不经过任何抽象层;然而随着技术进步,现代操作系统引入了分页机制和支持多任务处理的能力,使得同一时刻多个进程可以安全共享有限的RAM容量——这便是所谓的保护模式下的虚拟寻址方案[^3]。 ### 名词解释汇总 #### 指示性语句 (Pseudo-instructions) 指示性语句是指那些并非真正意义上的可执行命令而是用来指导汇编过程的行为说明项。例如定义数据段位置或指定入口点等动作都属于此类别。由于其特殊性质,在最终生成的目标文件里并不会留下对应的二进制片段。 #### 系统软件 vs 应用软件 两者之间存在层次上的依赖关系:前者构成了后者赖以生存的基础环境并负责协调整个计算流程中的各项活动;后者则是依据前者的框架构建起来的具体业务逻辑实现体,旨在满足不同领域内的具体需求。 #### 实模式 vs 虚拟内存 当提到这两种概念时实际上反映了两种不同的内存管理模式。前者意味着所有的地址都是绝对真实的,并且没有隔离措施保障各个正在并发执行的任务互不干扰;相反地,后者则借助额外的数据结构将用户视角里的线性地址转换成实际存在的物理位址,进而实现了更高效灵活的空间分配策略同时也增强了安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值