自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文了解低級(jí)和高級(jí)編程語(yǔ)言

開(kāi)發(fā)
中文是一種盡量用簡(jiǎn)短文字表達(dá)更多含義的語(yǔ)言,所以很多時(shí)候一句話的含義很容易曲解成別的意思。最近,有人提出C語(yǔ)言是一種中級(jí)語(yǔ)言的概念,所以特意介紹一下低級(jí)語(yǔ)言和高級(jí)語(yǔ)言的區(qū)別。

中文是一種盡量用簡(jiǎn)短文字表達(dá)更多含義的語(yǔ)言,所以很多時(shí)候一句話的含義很容易曲解成別的意思。最近,有人提出C語(yǔ)言是一種中級(jí)語(yǔ)言的概念,所以特意介紹一下低級(jí)語(yǔ)言和高級(jí)語(yǔ)言的區(qū)別。

最初的編程語(yǔ)言是機(jī)器語(yǔ)言(machine language),它和硬件系統(tǒng)緊密相連。機(jī)器語(yǔ)言是計(jì)算機(jī)的一套完整指令集(稱為機(jī)器碼machine code),它可以被CPU直接執(zhí)行。機(jī)器碼中所有的指令用二進(jìn)制編碼,每條二進(jìn)制指令可以直接控制具體的硬件元器件。機(jī)器語(yǔ)言具有代碼直接執(zhí)行、控制硬件靈活和運(yùn)行速度快的特點(diǎn),但是不同種類計(jì)算機(jī)的機(jī)器碼是不相同的,一種機(jī)器語(yǔ)言編寫(xiě)代碼只能在一種計(jì)算機(jī)型號(hào)上運(yùn)行。

指令示例

1、0000 載入(LOAD)

2、0001 存儲(chǔ)(STORE)

寄存器示例

1、0000 寄存器A

2、0001 寄存器B

代碼示意

0000,0000,000000010000 代表 LOAD 1, 16

使用機(jī)器語(yǔ)言必須記憶全套的機(jī)器碼,不僅開(kāi)發(fā)過(guò)程繁瑣、消耗時(shí)間長(zhǎng),代碼的可讀性也非常低。為了讓軟件工程師更高效的編寫(xiě)程序,匯編語(yǔ)言(assembly language)被發(fā)明出來(lái)。這種語(yǔ)言的編寫(xiě)方式和機(jī)器語(yǔ)言基本相同,只是用英文符號(hào)替換了機(jī)器的編碼。匯編語(yǔ)言的代碼不能被計(jì)算機(jī)直接執(zhí)行,需要通過(guò)匯編程序?qū)⑺鼈冝D(zhuǎn)換成可執(zhí)行的機(jī)器代碼。雖然機(jī)器代碼已經(jīng)被容易記憶的英文符號(hào)代替,但是程序的開(kāi)發(fā)難度依然很高。程序開(kāi)發(fā)時(shí)不但需要控制硬件計(jì)算器和寄存器等,還需要解決數(shù)據(jù)在硬件中存儲(chǔ)的地址轉(zhuǎn)換等問(wèn)題。

由于機(jī)器語(yǔ)言和匯編語(yǔ)言中的指令直接映射為硬件操作,語(yǔ)言沒(méi)有進(jìn)行更高級(jí)別的抽象,所以這類語(yǔ)言被稱之為低級(jí)語(yǔ)言(Low-level programming language)。計(jì)算機(jī)架構(gòu)中最常使用的是分層架構(gòu),例如OSI七層網(wǎng)絡(luò)模型、TCP/IP四層網(wǎng)絡(luò)模型,所以這里的低級(jí)指代的是較低的抽象層級(jí)。

與低級(jí)語(yǔ)言相對(duì)的是高級(jí)語(yǔ)言(Heigh-level programming language),現(xiàn)在常用的開(kāi)發(fā)語(yǔ)言都是高級(jí)語(yǔ)言,例如:C/C++、Java、PHP、Python、JavaScript、Golang等。高級(jí)語(yǔ)言可以跨不同的計(jì)算機(jī)硬件架構(gòu)和操作系統(tǒng)。高級(jí)語(yǔ)言的語(yǔ)法更接近自然語(yǔ)言的語(yǔ)法和結(jié)構(gòu),也與系統(tǒng)硬件的“距離”更遠(yuǎn)。通過(guò)語(yǔ)言自身的開(kāi)發(fā)庫(kù)兼容不同的操作系統(tǒng),通過(guò)操作系統(tǒng)兼容不同的硬件架構(gòu)。從這個(gè)分類來(lái)看,C語(yǔ)言雖然沒(méi)有現(xiàn)代語(yǔ)言的很多特性,例如:面向?qū)ο蟆?nèi)存管理、函數(shù)編程等。但是,完全符合高級(jí)語(yǔ)言的特性,所以不是什么中級(jí)語(yǔ)言。

高級(jí)語(yǔ)言和低級(jí)語(yǔ)言只是翻譯上的簡(jiǎn)化,并不是對(duì)開(kāi)發(fā)語(yǔ)言好壞或者強(qiáng)弱的評(píng)判。每種開(kāi)發(fā)語(yǔ)言都有特定的使用場(chǎng)景和推進(jìn)計(jì)算機(jī)發(fā)展的獨(dú)有價(jià)值。

責(zé)任編輯:華軒 來(lái)源: 數(shù)字隨行
相關(guān)推薦

2024-04-26 00:01:00

Go語(yǔ)言類型

2019-08-06 09:00:00

JavaScript函數(shù)式編程前端

2020-08-27 07:34:50

Zookeeper數(shù)據(jù)結(jié)構(gòu)

2024-04-26 00:02:00

Rust語(yǔ)言LinkedList

2023-11-20 08:18:49

Netty服務(wù)器

2023-04-26 15:43:24

容器編排容器編排工具

2023-11-06 08:16:19

APM系統(tǒng)運(yùn)維

2022-06-08 08:11:56

威脅建模網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2022-11-11 19:09:13

架構(gòu)

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2023-06-28 07:39:02

SeataTCC方案XA 方案

2023-11-22 16:08:48

2023-12-29 15:28:18

磁盤固態(tài)硬盤

2019-04-19 14:03:52

APISDK接口

2024-01-19 11:53:29

文件系統(tǒng)操作系統(tǒng)存儲(chǔ)

2022-02-24 07:34:10

SSL協(xié)議加密

2023-08-26 20:56:02

滑動(dòng)窗口協(xié)議

2023-11-08 08:15:48

服務(wù)監(jiān)控Zipkin

2024-02-01 11:57:31

this指針代碼C++

2023-10-27 08:15:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)