- 從問題到程序:C/C++程序設計基礎
- 裘宗燕 李安邦編著
- 1595字
- 2023-11-07 15:57:47
1.1.2 程序設計語言及其發展
要想讓計算機能夠完成一個計算活動,就需要描述清楚該活動的細節,以及計算機運行時應該做的各種動作及其執行順序,也就是說,需要寫出相應的程序并送入計算機。而為了描述程序,需要有一套適當的描述方式。一套完整的描述方式就構成了一個語言。
人們在生活和工作中與他人交流使用的是某種自然語言(如漢語等)。為了與計算機交流,指揮它工作,同樣需要有與之交流的“語言”。用于描述計算機能夠執行的程序所用的語言,就是程序設計語言(或稱編程語言,programming language)。程序設計語言是兩種活動之間的橋梁:一種是人們的程序設計活動,人們用程序設計語言描述自己希望計算機做什么的設想,寫出程序;另一種是計算機的運行,計算機能執行的程序必須是用它能處理和執行的某種語言描述的。
在計算機的發展歷程中,人們開發和使用過很多不同類型的程序設計語言。
1. 機器語言
計算機誕生之初,人們只能用計算機可以直接處理的二進制形式的機器語言寫程序。下面是在一臺假想計算機上計算算術表達式a×b+c的指令系列:

顯然,對于人們的使用而言,二進制的機器語言極其不便。用它書寫程序非常困難,不但工作效率極低,程序的正確性也難以保證。如果發現程序不能正確工作,也很難找出錯誤的根源并改正。
2. 匯編語言
隨著程序設計經驗的積累,人們發展了符號形式的、使用相對容易的匯編語言。用匯編語言寫出的程序需要用專門軟件(匯編系統)加工,翻譯成二進制的機器語言程序后才能送給計算機執行。下面是用某種假想的匯編語言寫出的程序,它完成與上面程序同樣的工作:

匯編語言的每條指令對應一條機器語言指令,但采用助記的符號名(如上面的load、mult、add和save),存儲單元也用符號形式的名字表示。這樣,每條指令的意義就更容易理解和把握了。但是,匯編語言的程序仍然是以一條條指令的形式寫出的,描述的基礎是硬件的低級結構和相關概念。另外,匯編語言的程序本身仍然沒有任何結構,就是由許多上面這樣的指令排出的長長序列,是一盤散沙。因此,復雜程序作為整體,仍然很難正確寫出來,也很難理解。
3. 高級語言
隨著對計算機認識的深入和應用的需要,人們希望能在更高的層次上編寫程序,并使寫出的程序能完全脫離具體計算機硬件的細節。在這個方向上的努力最終導致了高級程序設計語言(high-level programming language,簡稱高級語言)的誕生。1954年誕生的第一個高級語言FORTRAN宣告了程序設計新時代的開始。FORTRAN是完全符號化的,用類似于數學表達式的形式描述基本計算;提供了有類型的變量,作為存儲的抽象模型;還提供了一批控制機制,如循環和子程序等。這些高級機制使編程者可以擺脫計算機硬件的具體細節,方便復雜程序的書寫,寫出的程序更容易閱讀,有錯誤時也更容易辨認和改正。FORTRAN語言誕生后受到廣泛歡迎。
高級語言更接近人們習慣的描述形式,更容易被接受,也使更多的人能夠(并樂于)加入程序設計活動中。用高級語言書寫程序時的工作效率更高,它使人們能高效地開發出大量規模越來越大的應用系統,這反過來推動了計算機應用的發展。應用的發展又推動了計算機工業的大發展。可以說,高級程序設計語言的誕生和發展,對于計算機的發展起了極其重要的作用。
從FORTRAN語言誕生至今,人們已提出數千種語言,其中大部分是試驗性語言,只有少數語言得到了比較廣泛的使用。隨著時代的發展,今天絕大部分程序都是用高級語言寫的,人們也早已習慣用程序設計語言這個術語指代各種高級語言了。
在高級語言(例如C/C++語言)的層面上,描述前面同樣的程序片段只需要一行:

這一描述表示,要求計算機計算等號右邊的表達式,而后將計算結果存入由d代表的存儲單元中。這種表示方式與人們所熟悉的數學形式直接對應,更容易閱讀和理解。
高級語言程序采用完全抽象的符號形式,使人們可以完全擺脫難用的二進制形式,也不用關心具體計算機的細節。此外,高級語言中還提供了許多高級的程序結構,供人們在編寫程序時組織好復雜的程序。與機器語言和匯編語言的程序相比,情況確實大大改觀了。
- 有機化學實驗
- 法國時裝紙樣設計 立體裁剪編
- ISO 9001質量管理體系及認證概論(2015版)第二版
- 管理經濟學(原書第12版)
- 機械制造自動化技術及應用
- 無機及分析化學
- EPC工程總承包項目風險管理實用指南
- 許小明《新編日語教程3(第三版)》學習指南【課文重點+詞匯剖析+語法精解+拓展知識+全文翻譯】
- 智能網聯汽車概論
- Access數據庫與VBA面向對象程序設計
- 2020年全國碩士研究生招生考試臨床醫學綜合能力(西醫)生物化學考點歸納與歷年真題詳解
- 梅安新《遙感導論》配套題庫【課后習題+章節題庫+模擬試題】
- 2020年教育碩士(Ed.M)333教育綜合全國名校考研真題及模擬試題詳解
- 標志與導視系統設計
- 數字經濟背景下農村電子商務發展的經濟效應研究