1. 程式人生 > >編程語言的發展歷史

編程語言的發展歷史

掌握 高端 代碼行數 高級 asi 不但 sof 分享 想是

說起編程語言學習,很多“小朋友”剛開始都覺得枯燥難懂,但初窺門徑後便會發覺內部曲徑深幽,引人入勝。其實編程語言在我們很小的時候就擺在我們面前,只是我們沒有珍惜。還記得任天堂/小霸王遊戲機/學習機嗎?相信很多80後小朋友幼年時都玩過,例如超級瑪麗和坦克大戰,但裏面其實還有一個學習模塊,那就是曾經十分流行的BASIC語言,可以進行科學計算,高端機型還可以完成一些簡單的小遊戲設計。

簡單來說,編程語言如我們日常語言一樣,也是溝通交流的一種方式,只是它的對象是計算機。計算機需要通過一定語法結構、數據類型、邏輯關系等構成的代碼指令才能工作起來。因此要學習掌握一門編程語言,不管是低級語言還是高級語言,都首先應對計算機運行原理有所了解,然後在此基礎上學習編程才能理解透徹。今天就跟大家分享下編程語言的歷史與發展,讓你日後學習編程時不至於只見樹木不見森林。

首先編程語言的發展經歷了機器語言、匯編語言、高級語言三個大的階段。

第一代語言是機器語言。它是指用二進制代碼0和1描述的指令集合。由於計算機構造及運行機理,其內部只能接受二進制代碼,即只有0和1所描述的目標程序指令才能被計算機直接識別和執行。該語言的使用主要是在計算機發明之初,當時計算機只能被少部分人使用,程序員們就用0、1組成的指令序列控制計算機運行。由於機器語言是直接對計算機硬件進行操作,所以執行效率很高,但是機器語言編寫的程序無明顯特征,難以記憶,不便閱讀、書寫與移植,局限性很大,屬於低級語言,由此便誕生了後來的匯編語言。

第二代語言是匯編語言。核心思想是用一些簡潔的英文字母、符號串來替代機器語言指令(二進制串),運行時只需通過編譯器將

這些英文單詞轉化成 0/1 代碼即可實現指令功能,因此這大大提高了語言的記憶性和識別性,例如做加法指令add。匯編語言同樣也是直接對硬件進行操作,因此這依然局限了它的移植性。但使用匯編語言對計算機特定硬件編制的程序有利於硬件功能發揮,它精煉且質量高,所以至今仍是一種在用的程序開發語言。相信很多工科生接觸匯編語言是由於大學時候的一門課——《微機原理》。

第三代語言是高級語言。隨著計算機的發展,人們對計算機程序的移植性需求不斷提高,此時急需要一種不依賴於特定型號的計算機的語言,用這種語言編寫的程序能在在各種平臺都正常運行,由此在匯編語言後誕生了高級語言。我們現在使用的語言基本都是高級語言,和匯編語言相比,它並不是特指某一種具體的語言,而是很多編程語言集,例如流行的java,c,c++,C#,python,Go等。它不但將許多相關的機器指令合成為單條指令,並且遠離對硬件的直接操作,去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了代碼行數,同時對編程者的計算機專業知識要求進一步降低。高級語言也經歷了從面向過程(流水線似的)到面向對象(引入類、繼承等概念)的編程理念的發展,即越來越接近人類語言與人類思維。同時在分類上包含解釋型、編譯型;動態語言和靜態語言;強類型與弱類型等,關於語言分類將在後面的文章中專門講述。

編程語言的發展歷史