指令式編程
電腦科學中的程式設計類型
(重定向自指令式编程语言)
指令式編程(英語: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).