指令式程式設計
電腦科學中的程式設計類型
指令式程式設計(英語:Imperative programming);是一種描述電腦所需作出的行為的程式設計範式。幾乎所有電腦的硬體都是指令式工作;幾乎所有電腦的硬體都是能執行機器語言,而機器碼是使用指令式的風格來寫的。較高階的指令式程式語言使用變數和更複雜的語句,但仍依從相同的典範。菜譜和行動清單,雖非電腦程式,但與指令式程式設計有相似的風格:每步都是指令。因為指令式程式設計的基礎觀念,不但概念上比較熟悉,而且較容易具體表現於硬體,所以大部分的程式語言都是指令式的。
原理和基礎
很多指令式程式語言(比如 Fortran、BASIC 和 C)是組合語言的抽象化[1]。
大部分的高階語言都支援四種基本的語句:
- 運算語句一般來說都表現了在記憶體內的資料進行運算的行為,然後將結果存入記憶體中以便日後使用。高階指令式程式語言更能處理複雜的表達式,可能會產生四則運算和函式計算的結合。
- 迴圈語句容許一些語句反覆執行數次。迴圈可依據一個預設的數目來決定執行這些語句的次數;或反覆執行它們,直至某些條件改變。
- 條件分支語句容許僅當某些條件成立時才執行某個區塊。否則,這個區塊中的語句會略去,然後按區塊後的語句繼續執行。
- 無條件分支語句容許執行順序轉移到程式的其他部分之中。包括跳躍(在很多語言中稱為 Goto)、副程式和 Procedure 等。
迴圈、條件分支和無條件分支都是控制流程。
歷史
早期的指令式程式語言都是電腦本身的機械語言。在這些語言中,指示非常簡單,令硬體的執行更容易,卻阻礙了複雜程式的設計。1954年開始開發的 Fortran,是首個在複雜程式的設計中除掉機器碼的程式語言。它是編譯型的程式語言,容許命名變數、複雜的表達式、副程式和其他功能,這些功能現在在指令式語言中都非常普遍。後來的二十年中,可以看到大量的其他高階指令式程式語言出現。在1980年代後,物件導向程式設計有迅速的發展;這些物件導向程式語言均有著指令式的風格,但增添了支援物件的功能。
參見
- (對立的)宣告式程式設計
參照
- ^ Bruce Eckel. Thinking in Java. Pearson Education. 2006: 24 [2021-02-15]. ISBN 978-0-13-187248-6. (原始內容存檔於2021-10-09).