随笔分类 - 软件工程
摘要:先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。声明式编程和命令式编程的代码例子举个简单的例子,假设我们想让一个数组里的数值翻倍。我们用命令式编程风格实现,像下面这样:var numbers = [1,2,3,4,5]var doubled = []for(var i = 0; i [2,4,6,8,10]我们直接遍历整个数组,取出每个元素,乘以二,然后把翻倍后的值
阅读全文
摘要:函数式编程是一种编程模型,它将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。函数式编程的应用场景:1.数学推理2.并行程序函数式编程语言的代表语言:Lisp、HasKell、Erlang、Scala,F#函数式编程的复兴:多核并行程序设计的逐渐流行,而命令式编程天生的缺陷却使并行编程模型变得非常复杂,无论是信号量,还是锁的概念,都使程序员不堪其重。对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。我们在函数式编程中努力用函数来表达所有的概念,完成所有的操作。在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成
阅读全文