1.21 命令式编程、声明式编程的理解与思考

命令式编程关注的是具体步骤。

声明式编程关注的是最后的结果。

  • 命令式编程
    在平时常见的编程范式就是命令式编程。来个生活中的例子说明一下什么是命令式编程。比如,小红想吃西红柿炒鸡蛋,然后她妈妈就去买菜、洗菜、做好西红柿炒鸡蛋。小红她妈妈就是在执行命令式编程,必须清楚的知道每一步的动作。

下面再写一个编程中对应的例子:

在一个集合中找到所有大于3的数字。

ArrayList<Integer> collation = new ArrayList<Integer>();
collation.add(1);
collation.add(4);
collation.add(5);
ArrayList<Integer> result = new ArrayList<Integer>();
for (int num : collation) {
    if( num % 2 == 1 ){
        result.add(num);
    }
}

不管在C/C++、java、python、javascript等语言中都存在这种写法。

  • 声明式编程
    下面再看看声明式编程范式。

还是拿上面那个小红要吃西红柿炒鸡蛋的例子,我们现在站在小红的角度来考虑一下问题,她关注的是最后能吃到西红柿炒鸡蛋,至于是她妈妈做的,还是她妈妈点外卖,还是她妈妈请大厨做的,其实都不重要。小红其实就是在做声明式编程,她只需要表达清楚想吃西红柿炒鸡蛋这件事就行了。

在编程中,SQL是最好的声明式编程例子。还是拿上面那个在集合中找数字的例子,用SQL的话只需要像下面这样就行。

select * from collection where num > 3

至于数据库中如何实现这条语句,其实根本不用关心,我们关心得是最后获取到得结果。

原文地址:https://www.cnblogs.com/xjt31/p/14308598.html