指令式编程(英语:Imperative programming);是一种描述电脑所需作出的行为的编程范型。几乎所有电脑的硬件都是指令式工作;几乎所有电脑的硬件都是能执行机器语言,而机器代码是使用指令式的风格来写的。较高阶的指令式编程语言使用变量和更复杂的语句,但仍依从相同的典范。菜谱和行动清单,虽非计算机程序,但与指令式编程有相似的风格:每步都是指令。因为指令式编程的基础观念,不但概念上比较熟悉,而且较容易具体表现于硬件,所以大部分的编程语言都是指令式的。
原理和基础
很多指令式编程语言(比如 Fortran、BASIC 和 C)是汇编语言的抽象化[1]。
大部分的高级语言都支持四种基本的语句:
- 运算语句一般来说都表现了在存储器内的资料进行运算的行为,然后将结果存入存储器中以便日后使用。高阶指令式编程语言更能处理复杂的表达式,可能会产生四则运算和函数计算的结合。
- 循环语句容许一些语句反复执行数次。循环可依据一个默认的数目来决定执行这些语句的次数;或反复执行它们,直至某些条件改变。
- 条件分支语句容许仅当某些条件成立时才执行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续执行。
- 无条件分支语句容许执行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为 Goto)、副程序和 Procedure 等。
循环、条件分支和无条件分支都是控制流程。
历史
早期的指令式编程语言都是电脑本身的机械语言。在这些语言中,指示非常简单,令硬件的执行更容易,却阻碍了复杂程序的设计。1954年开始开发的 Fortran,是首个在复杂程序的设计中除掉机器代码的编程语言。它是编译型的编程语言,容许命名变量、复杂的表达式、副程序和其他功能,这些功能现在在指令式语言中都非常普遍。后来的二十年中,可以看到大量的其他高阶指令式编程语言出现。在1980年代后,面向对象编程有迅速的发展;这些面向对象编程语言均有着指令式的风格,但增添了支持物件的功能。
参见
- (对立的)宣告式编程
引用
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.