指令式程式設計

電腦科學中的程式設計類型

指令式程式設計(英語:Imperative programming);是一種描述電腦所需作出的行為的程式設計範式。幾乎所有電腦的硬件都是指令式工作;幾乎所有電腦的硬件都是能執行機器語言,而機械碼是使用指令式的風格來寫的。較高階的指令式程式語言使用變數和更複雜的陳述式,但仍依從相同的典範。菜譜和行動清單,雖非電腦程式,但與指令式程式設計有相似的風格:每步都是指令。因為指令式程式設計的基礎觀念,不但概念上比較熟悉,而且較容易具體表現於硬件,所以大部分的程式語言都是指令式的。

原理和基礎

很多指令式程式語言(比如 FortranBASICC)是匯編語言抽象化[1]

大部分的高階語言都支援四種基本的陳述式:

  1. 運算陳述式一般來說都表現了在記憶體內的資料進行運算的行為,然後將結果存入記憶體中以便日後使用。高階指令式程式語言更能處理複雜的表達式,可能會產生四則運算和函數計算的結合。
  2. 迴圈陳述式容許一些陳述式反覆執行數次。迴圈可依據一個預設的數目來決定執行這些陳述式的次數;或反覆執行它們,直至某些條件改變。
  3. 條件分支陳述式容許僅當某些條件成立時才執行某個區塊。否則,這個區塊中的陳述式會略去,然後按區塊後的陳述式繼續執行。
  4. 無條件分支陳述式容許執行順序轉移到程式的其他部分之中。包括跳躍(在很多語言中稱為 Goto)、副程式和 Procedure 等。

迴圈、條件分支和無條件分支都是控制流程

歷史

早期的指令式程式語言都是電腦本身的機械語言。在這些語言中,指示非常簡單,令硬件的執行更容易,卻阻礙了複雜程式的設計。1954年開始開發的 Fortran,是首個在複雜程式的設計中除掉機械碼的程式語言。它是編譯型的程式語言,容許命名變數、複雜的表達式、副程式和其他功能,這些功能現在在指令式語言中都非常普遍。後來的二十年中,可以看到大量的其他高階指令式程式語言出現。在1980年代後,物件導向程式設計有迅速的發展;這些物件導向程式語言均有着指令式的風格,但增添了支援物件的功能。

參見

參照

  1. ^ Bruce Eckel. Thinking in Java. Pearson Education. 2006: 24 [2021-02-15]. ISBN 978-0-13-187248-6. (原始內容存檔於2021-10-09).