久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當前位置首頁 > 高中物理 > 教學視頻

編程方式的歷史演變--O'

更新時間:2023-08-08 文章作者:佚名 信息來源:網絡整理 閱讀次數:

簡單介紹一下編程方法的歷史演變。uR7物理好資源網(原物理ok網)

——埃里克·奧(作者)uR7物理好資源網(原物理ok網)

在計算的早期,硬件很昂貴,而程序員很便宜。 廉價的程序員甚至沒有“程序員”的頭??銜,通常由物理學家或電氣工程師擔任這個角色。 早期的計算機被用來快速解決復雜的物理問題,因此物理學家天然適合“編程”工作。uR7物理好資源網(原物理ok網)

有哪些手續?uR7物理好資源網(原物理ok網)

首先,介紹一下背景。 計算機本身不能做任何事情,它的任何行為都需要程序的指導。 您可以將程序視為非常精確的配方,它接受輸入并產生相應的輸出。 配方中的每個步驟都包含用于操作數據的指令。 聽起來很復雜,但你似乎知道下面這句話的意思:uR7物理好資源網(原物理ok網)

1 + 2 = 3
uR7物理好資源網(原物理ok網)

其中減號是“指令”,數字1和2是數據。 等號物理上意味著等式兩邊的部分是“等價的”,但在大多數編程語言中對變量使用等號意味著“賦值”。 如果計算機執行了前面的句子,它會將減法的結果(即“3”)存儲在顯存中的某處。uR7物理好資源網(原物理ok網)

計算機知道如何用數字進行物理計算,以及如何連接內存結構中的數據。 顯存這里就不展開了,只需知道顯存一般分為“速度快/空間小”和“速度慢/空間大”兩類。 CPU寄存器的讀寫速度很快,而且占用的空間很小,相當于一張速記紙條。 可尋址存儲器一般空間較大,讀寫速度比寄存器差很多。 程序運行時,CPU不斷地將其需要的數據從可尋址存儲器移至寄存器,然后將結果放回可尋址存儲器。uR7物理好資源網(原物理ok網)

匯編器uR7物理好資源網(原物理ok網)

當時計算機價格昂貴,而人力相對便宜。 程序員需要花費大量時間將手寫的物理表達式翻譯成計算機可以執行的指令。 第一批計算機的用戶界面很糟糕,有些前面板上有翻轉開關。 這種開關代表視頻存儲器“單元”中的“0”和“1”。 程序員需要配置一個顯存單元物理英文翻譯器,選擇一個存儲位置,然后將該單元提交到顯存。 這是一個耗時且容易出錯的過程。uR7物理好資源網(原物理ok網)

程序員 (左)和 Fran Bilas(右)正在運行uR7物理好資源網(原物理ok網)

后來,一位電氣工程師覺得自己的時間很寶貴,于是寫了一個程序,將人們能理解的類似“菜譜”的輸入轉換成計算機能理解的版本。 這就是最初的“匯編器”,在當時引起了不小的爭議。 如此昂貴的機器的所有者不想將計算資源浪費在人類已經可以完成的任務上(盡管速度慢且容易出錯)。 然而,隨著時間的推移,人們逐漸發現使用匯編程序在速度和準確性方面比手動編譯機器語言要好,但計算機所做的“真正的工作量”卻增加了。uR7物理好資源網(原物理ok網)

雖然匯編器距離切換機器面板上的位狀態還有很長的路要走,但這些編程方法仍然非常專業。 里面的乘法實例在匯編語言中看起來像這樣:uR7物理好資源網(原物理ok網)

01 MOV R0, 1
02 MOV R1, 2
03 ADD R0, R1, R2
04 MOV 64, R0
05 STO R2, R0
uR7物理好資源網(原物理ok網)

每一行都是一條計算機指令,后面是該指令的縮寫,旁邊是該指令所操作的數據。 這個小程序首先將值 1“移動”到寄存器 R0,然后將 2 連接到寄存器 R1。 第03行將兩個寄存器R0和R1中的值相乘,并將結果存儲在寄存器R2中。 最后,第 04 行和第 05 行確定結果應放置在尋址存儲器中的位置(本例中為地址 64)。 管理數據在視頻內存中的存儲位置是編程過程中最耗時且最容易出錯的部分之一。uR7物理好資源網(原物理ok網)

翻譯員uR7物理好資源網(原物理ok網)

匯編器已經比手寫的計算機指令好得多了,但早期的程序員仍然希望能夠像他們習慣的方式編寫中文公式一樣編寫程序。 這些需求導致了中間編譯語言的發展,其中一些早已不復存在,而另一些至今仍在使用。 例如ALGO早已不復存在,而像C和C這樣的語言繼續解決實際問題。uR7物理好資源網(原物理ok網)

ALGO 和編程語言的譜系樹uR7物理好資源網(原物理ok網)

這種“高級”語言允許程序員以更簡單的形式編寫程序。 在 C 語言中,我們的乘法程序如下所示:uR7物理好資源網(原物理ok網)

int x;
x = 1 + 2;
uR7物理好資源網(原物理ok網)

第一句話描述了程序將使用的視頻內存塊。 在這個反例中,這個顯存應該占據一個整數的大小,名稱為x。 第二句話是乘法,盡管寫反了。 AC 程序員會說這是“X 被參數化為 1 加 2 的結果”。 需要注意的是,程序員不需要決定將x存儲在顯存中的何處,這個任務留給編譯器。uR7物理好資源網(原物理ok網)

這些新程序稱為“編譯器”,可以將用中間語言編寫的程序轉換為匯編語言物理英文翻譯器,然后使用匯編器將匯編語言轉換為機器可讀的程序。 這些程序組合通常稱為“工具鏈”,因為一個程序的輸出成為另一程序的輸入。uR7物理好資源網(原物理ok網)

當從一臺計算機遷移到另一臺不同型號或品牌的計算機時,編譯語言相對于匯編語言的優勢是顯而易見的。 在計算的早期,IBM、DEC、德州儀器和惠普等公司制造了大量不同類型的計算機硬件。 這些計算機不僅都需要連接電源,而且沒有太多共同點。 它們在顯存和CPU架構上有很大不同。 當時,人們往往需要幾年的時間才能將一臺計算機的程序翻譯成另一臺計算機的程序。uR7物理好資源網(原物理ok網)

使用中間語言,我們只需要將編譯器工具鏈遷移到新平臺即可。 只要有編譯器可用,用中間語言編寫的程序就可以在新計算機上重新編譯,最多只進行微小的更改。 中間語言的編寫是一項真正的革命性成就。uR7物理好資源網(原物理ok網)

1983 年發布的 IBM PCXT 是硬件價格上漲的早期例子。uR7物理好資源網(原物理ok網)

程序員的生活得到了很大的改善。 相比之下,通過中級語言表達他們想要解決的問題會讓事情變得容易很多。 由于半導體技術的進步和集成芯片的發明,計算機硬件的價格大幅上漲。 計算機變得越來越快、越來越強大,而且價格也越來越便宜。 從某個時間點開始(實際上是 80 年代末),事情發生了逆轉,程序員的價值超過了他們使用的硬件。uR7物理好資源網(原物理ok網)

類庫uR7物理好資源網(原物理ok網)

物理英文翻譯器_中學物理翻譯_物理專業英語翻譯軟件uR7物理好資源網(原物理ok網)

隨著時間的推移,一種新的編程方法盛行起來。 一種稱為“解釋器”的特殊程序可以直接讀取程序并將其轉換為計算機指令以立即執行。 與編譯器非常相似,協程讀取程序并將其轉換為中間形式。 但與編譯器不同的是,協程直接執行程序的這種中間形式。 解釋型語言每次執行都要經歷這個過程; 一個編譯好的程序只需要編譯一次,然后計算機每次只需要執行編譯好的機器指令。uR7物理好資源網(原物理ok網)

順便說一下,這個特性是人們認為解釋程序運行速度較慢的原因。 但現代計算機的功能如此強大,以至于大多數人很難區分編譯程序和解釋程序之間的區別。uR7物理好資源網(原物理ok網)

解釋型程序(有時稱為“腳本”)更容易移植到不同的硬件平臺。 由于該腳本不包含任何特定于機器的指令,因此同一版本的程序可以在許多不同的計算機上運行而無需任何更改。 但實際上,協程必須先移植到新機器上。uR7物理好資源網(原物理ok網)

Perl 是一種非常流行的解釋語言。 Perl 中乘法問題的完整表述如下:uR7物理好資源網(原物理ok網)

$x = 1 + 2
uR7物理好資源網(原物理ok網)

雖然這個程序看上去和C語言版本差不多,操作上也沒有太大區別,但是缺少初始化變量的語句。 盡管還存在一些其他差異(超出了本文的范圍),但您應該已經注意到,我們編寫計算機程序的方式已經非常接近物理學家用筆和紙手寫物理表達式的方式。uR7物理好資源網(原物理ok網)

虛擬uR7物理好資源網(原物理ok網)

最新的編程方法是虛擬機(通常縮寫為VM)。 虛擬機分為兩類:系統虛擬機和進程虛擬機。 兩種類型的虛擬機都提供“真實”計算硬件的不同級別的表示,但它們具有不同的范圍。 系統虛擬機是一種軟件,可替代化學硬件,而進程虛擬機則設計為以“系統獨立”方式執行程序。 所以在這種情況下,進程虛擬機(我之前提到的虛擬機就是指這種類型)的作用域和類庫類似,因為程序先被編譯成中間形式,然后虛擬機執行這種中間形式。uR7物理好資源網(原物理ok網)

虛擬機和類庫的主要區別在于虛擬機創建一個虛擬CPU和一組虛擬指令。 有了這層表示,我們就可以通過編譯后端工具將不同語言的程序編譯成虛擬機可以接受的程序。 似乎最流行和最知名的虛擬機是Java虛擬機(JVM)。 JVM在20世紀90年代最初只支持Java語言,但現在它可以運行許多流行的編程語言,包括Scala、JRuby、等等。 還有其他不太常見的情況,這里不再贅述。 我也是最近才知道,我最喜歡的語言不是解釋型語言,而是運行在虛擬機上的語言!uR7物理好資源網(原物理ok網)

虛擬機一直延續著允許程序員使用特定領域的編程語言來解決問題的歷史趨勢,對特定計算平臺的了解越來越少。uR7物理好資源網(原物理ok網)

就是這樣uR7物理好資源網(原物理ok網)

希望您喜歡這篇簡短的文章,它簡要解釋了該軟件在幕后的工作原理。 您還希望我了解其他主題嗎? 請在評論中告訴我。uR7物理好資源網(原物理ok網)

通過:uR7物理好資源網(原物理ok網)

作者:ErikO' 題目:譯者:chen-ni 校對:wxyuR7物理好資源網(原物理ok網)

本文由 LCTT 原創編譯,Linux China Honor 首發uR7物理好資源網(原物理ok網)

發表評論

統計代碼放這里
主站蜘蛛池模板: 淮北市| 尼玛县| 吉隆县| 皋兰县| 丹巴县| 西林县| 搜索| 温州市| 龙门县| 新蔡县| 通辽市| 读书| 濮阳县| 镇江市| 昌吉市| 永寿县| 元氏县| 云霄县| 大足县| 格尔木市| 平顶山市| 乐业县| 蒙阴县| 庆云县| 华坪县| 扶沟县| 闽清县| 包头市| 崇义县| 鲜城| 北海市| 桦川县| 苏尼特右旗| 九龙坡区| 如东县| 天柱县| 天气| 洪雅县| 甘孜县| 竹北市| 鸡西市|