什么是命令式编程?

17 Mar 2025 | 4 分钟阅读

命令式编程是计算机科学中的一种软件开发方法,它使用语句来修改程序的*状态*。在命令式编程中,函数在解决问题所必需的每一步都进行了隐式编码,因此不使用预编码模型。与告诉计算机程序*应该*做什么的声明式编程不同,命令式编程告诉计算机*如何*去做。

正如自然语言中的命令式语气表达命令一样,命令式程序也包含供计算机执行的命令。这些程序中的所有 CPU 指令本身都是命令式语句,这使得它们能够编译成运行效率更高的二进制可执行文件。命令式语句可以划分为代码块,使程序更容易被人理解和创建。Fortran、C#、Java、C 和 C++ 是命令式编程的例子。

在 ALGOL 编程语言中,首次在 20 世纪 50 年代实现了将程序的代码分类到块中的概念。在现代,这些代码块称为过程,但当时这些块最初被称为复合语句。一旦建立了一个过程,它就可以用作单个命令式语句来抽象程序的控制流。开发人员可能能够借助这种方法更自然地传达编程概念。过程式编程是命令式编程的一种形式,它朝着更高的抽象级别演进,例如声明式编程。

命令式 vs. 声明式编程

与声明式编程相比,命令式编程中并未明确定义要解决的问题,而是侧重于*需要*解决什么。声明式编程不提供解决问题的*方法*,而是提供一个常量来检查以确保问题得到正确解决。编程语言通过模型定义了解决问题的*确切*方法。声明式编程也称为基于模型的编程。逻辑编程、函数式和特定领域的语言,如 **SQL、HTML、XML 和 CSS** 都属于声明式编程。

可以把给驾车路线的指令看作是区分声明式和命令式方法的一个简化例子。声明式方法提供到达给定目的地的地址,而无需考虑如何找到它,而命令式方法则提供到达目标的*一步一步*的说明。声明式编程从模型中获取其函数,这些模型是通过命令式编程创建的。

与声明式编程相比,命令式编程使用可变变量并具有许多副作用。与命令式编程不同,声明式编程不使用可变变量,也没有副作用。在命令式编程中,用户有能力做出决策并向编译器发出命令,而在声明式编程中,编译器能够做出决策。

在低级编程中,开发人员非常看重完全控制,而命令式编程能够提供这种控制。声明式编程在简化代码结构的同时,还可以自动化重复流程。与声明式编程相比,命令式编程对初学者来说更容易学习和理解。

有效的代码是声明式编程的最佳优势之一,您可以借助高抽象级别、易于扩展、方法等来实现它。此外,并行处理方法、面向对象编程和过程式编程都是命令式编程的类型。函数式编程和逻辑编程是声明式编程的类型。

命令式编程语言列表

有各种命令式编程语言,如下所示:

命令式编程的优缺点

基于命令式编程范例的许多计算机语言目前都被使用。一方面,这种方法是编程的原始形式,这可能是命令式编程更普遍的原因。另一方面,尽管存在替代模型,命令式编程仍然提供了一些好处。

这些语言通常易于学习,因为命令式编程允许用户像阅读分步教程一样阅读。这是因为程序员通常通过学习命令式语言开始他们的培训。

在日常操作中,清晰易懂是一个重要因素。最后,如果维护和优化不依赖于某一个人,多名人员可以轻松地维护和优化程序。

在过程式编程中,在解决更复杂的问题时,代码量会迅速开始增加,这是过程式编程的最大缺点之一。由于其规模而变得复杂,但仍然易于阅读。

由于执行是声明式的,因此很难将其与编程区分开来。因此,后续的干预可能会产生不必要的错误。在纯命令式代码中,与声明式编程(其中可以使用方法单独添加它们)相比,扩展也不易于实现。

优点缺点
命令式编程的最佳优势之一是易于阅读。在命令式编程中,代码会变得混乱,并迅速变得非常庞大。
它们相对容易学习。编辑代码时出错的可能性更大。
对于初学者来说,其概念模型非常容易理解。维护块应用程序开发,这是面向系统编程的局限性。
它们允许考虑特定应用程序的特性。在此范例中,扩展和优化更困难。

下一个主题什么是光学技术