# 声明式编程与命令式编程的差异
声明式程序和命令式程序是程序的方法，具体使用依赖于要么与你想在给定的工程上要么就是你工程上，具体使用依据你的实际需要
## 什么是声明式程序
这是早期程序的一种方式，在于我们主要关心我们可以得到什么作为回应，或者将会返回什么，作为开发者的我们从不关心如何得到这个，仅仅简单地关心我们接受到的答案
## 命令式编程是什么？
这也是程序的一种方式，关心我们如何得到这个答案，一步步的，我们最终想要相同的结果，但是我们正在告诉编译器去以一种特定的方式去做事情来获得我们想要的答案。
## 类推
如果你此时仍然疑惑，让我们用推断来消除你的疑惑，这个类比是想要学习一个话题或外包工作让别人去做。

如果你是外包工作，你可能不关心工作是如何完成的;更确切地说，你关心的是最终产品或结果的样子。这类似于声明式编程。你知道你想要什么，你程序一个函数给你。

让我们说你不想把工作外包给你的业务或项目。相反，你告诉自己，你想从长远的角度学习这一技能。现在，当您试图完成任务时，您会关心它实际是如何完成的。你需要知道各个步骤，以使它正常工作。这类似于命令式编程。
## 为什么我们应该使用声明式编程
### 1.重用性
由于所获得的结果在这里并不重要，它允许您构建的函数更加一般化，并可能用于多种用途，而不只是一个。不重写代码可以加速您当前正在编写的程序，以及其他在将来使用相同功能的程序。
### 2，减少错误
由于在声明式编程中，您倾向于编写不像在函数式编程中那样改变状态的函数，因此出现错误的几率较小，并且允许应用程序变得更加稳定。从你的功能中移除副作用可以让你知道到底发生了什么，以及发生了什么，允许一个更可预测的程序。
### 3，代码可读性提高
随着代码的减少，它变得更易读，也更容易学习。
## 声明式编程的潜在缺陷

### 1，缺乏控制

在声明性编程中，您可以使用其他人创建的函数，以实现所需的结果。但你可能需要在幕后完成一些具体的事情，才能让你的结果得到恰当的结果。在命令式编程中，您没有像在命令式编程中那样具有这种控制。

### 2，效率低下

当实现由其他东西控制时，您可能会遇到使代码高效的问题。在可能存在时间限制的应用程序中，需要对各个步骤进行编程，以确保程序运行得尽可能高效。





Add the difference between different code style
Add the difference between different code style 

Add FRP and Declare code articles