一文了解低级和高级编程语言

开发
中文是一种尽量用简短文字表达更多含义的语言,所以很多时候一句话的含义很容易曲解成别的意思。最近,有人提出C语言是一种中级语言的概念,所以特意介绍一下低级语言和高级语言的区别。

中文是一种尽量用简短文字表达更多含义的语言,所以很多时候一句话的含义很容易曲解成别的意思。最近,有人提出C语言是一种中级语言的概念,所以特意介绍一下低级语言和高级语言的区别。

最初的编程语言是机器语言(machine language),它和硬件系统紧密相连。机器语言是计算机的一套完整指令集(称为机器码machine code),它可以被CPU直接执行。机器码中所有的指令用二进制编码,每条二进制指令可以直接控制具体的硬件元器件。机器语言具有代码直接执行、控制硬件灵活和运行速度快的特点,但是不同种类计算机的机器码是不相同的,一种机器语言编写代码只能在一种计算机型号上运行。

指令示例

1、0000 载入(LOAD)

2、0001 存储(STORE)

寄存器示例

1、0000 寄存器A

2、0001 寄存器B

代码示意

0000,0000,000000010000 代表 LOAD 1, 16

使用机器语言必须记忆全套的机器码,不仅开发过程繁琐、消耗时间长,代码的可读性也非常低。为了让软件工程师更高效的编写程序,汇编语言(assembly language)被发明出来。这种语言的编写方式和机器语言基本相同,只是用英文符号替换了机器的编码。汇编语言的代码不能被计算机直接执行,需要通过汇编程序将它们转换成可执行的机器代码。虽然机器代码已经被容易记忆的英文符号代替,但是程序的开发难度依然很高。程序开发时不但需要控制硬件计算器和寄存器等,还需要解决数据在硬件中存储的地址转换等问题。

由于机器语言和汇编语言中的指令直接映射为硬件操作,语言没有进行更高级别的抽象,所以这类语言被称之为低级语言(Low-level programming language)。计算机架构中最常使用的是分层架构,例如OSI七层网络模型、TCP/IP四层网络模型,所以这里的低级指代的是较低的抽象层级。

与低级语言相对的是高级语言(Heigh-level programming language),现在常用的开发语言都是高级语言,例如:C/C++、Java、PHP、Python、JavaScript、Golang等。高级语言可以跨不同的计算机硬件架构和操作系统。高级语言的语法更接近自然语言的语法和结构,也与系统硬件的“距离”更远。通过语言自身的开发库兼容不同的操作系统,通过操作系统兼容不同的硬件架构。从这个分类来看,C语言虽然没有现代语言的很多特性,例如:面向对象、内存管理、函数编程等。但是,完全符合高级语言的特性,所以不是什么中级语言。

高级语言和低级语言只是翻译上的简化,并不是对开发语言好坏或者强弱的评判。每种开发语言都有特定的使用场景和推进计算机发展的独有价值。

责任编辑:华轩 来源: 数字随行
相关推荐

2024-04-26 00:01:00

Go语言类型

2019-08-06 09:00:00

JavaScript函数式编程前端

2020-08-27 07:34:50

Zookeeper数据结构

2024-04-26 00:02:00

Rust语言LinkedList

2022-02-25 07:34:36

MQTT协议RabbitMQ

2023-11-06 08:16:19

APM系统运维

2022-06-08 08:11:56

威胁建模网络安全网络攻击

2022-11-11 19:09:13

架构

2023-06-28 07:39:02

SeataTCC方案XA 方案

2023-11-20 08:18:49

Netty服务器

2023-04-26 15:43:24

容器编排容器编排工具

2019-10-12 08:59:36

软件DevOps技术

2024-07-26 00:00:10

2019-04-19 14:03:52

APISDK接口

2023-12-29 15:28:18

磁盘固态硬盘

2023-11-22 16:08:48

2024-01-19 11:53:29

文件系统操作系统存储

2023-08-26 20:56:02

滑动窗口协议

2023-10-27 08:15:45

2024-02-01 11:57:31

this指针代码C++
点赞
收藏

51CTO技术栈公众号