1.3.1 函数范式
函数式编程是一种编程范式,它定义了我们在思考问题时可以使用的概念,但它不能精确地指定如何用编程语言来表达这些概念。因此,就有了许多函数语言,每一种语言强调了函数风格不同方面和特征。
我们可以用一种比较熟悉的范式,面向对象编程(object-oriented programming,OOP)来类比。在面向对象的风格中,我们思考问题是以对象为出发点。每一种面向对象的语言...
分类:
其他好文 时间:
2014-07-22 22:39:34
阅读次数:
219
1.3 用函数式编程提高生产力
很多人觉得函数式编程优雅或甚至是漂亮,但这很难成为在商业环境中使用的一个好理由。优雅不能当钞票,真的不幸。用函数风格编程的主要原因是让你和你的团队工作更高效。
在本节,我们将看到函数式编程带来的主要优势,解释它是如何解决一些现代软件开发最重要问题的。在探索具体的好处之前,我们先宏观地来看一下。函数式编程并未严格界定,因为函数式思想可以有不同的形式。...
分类:
其他好文 时间:
2014-07-22 22:39:33
阅读次数:
175
全面理解面向对象的 JavaScript曾 滢著, 软件工程师, IBM简介:JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来人们对这一门语言的误解,即认为 JavaScript 不是一门面向对象的语言,或者只是部分具备一些面向对象的特征。本文将回归面向对象本意,从对语...
分类:
编程语言 时间:
2014-07-22 22:35:53
阅读次数:
352
1.3.2 声明式编程风格
用声明式编程风格,我们表达的程序逻辑无需说明执行细节。这个描述听起来有些耳熟,因为它十分类似于我们在 1.1 节中看到的函数式编程的定义。但声明式编程是更为一般的概念,可以使用不同技术来实现;函数式编程只是实现这一目标的一种方法。我们看一个演示,如何用函数语言编写声明性代码。
我们写程序,要以计算机所理解的词汇,向它解释我们的目标,在命令式语言中,这由命令组成...
分类:
其他好文 时间:
2014-07-22 22:34:16
阅读次数:
242
Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式、声明式等,我们暂不深入)。Python的多范式依赖于Python对象中的特殊方法(special metho...
分类:
编程语言 时间:
2014-07-22 00:18:37
阅读次数:
255
Lambda表达式
"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达式或...
分类:
其他好文 时间:
2014-07-21 23:28:11
阅读次数:
235
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,...
分类:
系统相关 时间:
2014-07-19 14:19:12
阅读次数:
359
1.2 通往实用函数编程之路
函数式编程的思想发源要早于第一台计算机,其历史可追溯到上世纪三十年代,当时 Alonzo Church 和 Stephen C. Kleene 引入一种理论,叫 lambda 演算,属于数学基础研究。虽然它未能实现其初衷,但仍有一些逻辑分支在使用,并发展出有用计算理论。为了学习函数式编程的基本原理,有必须简单了解一下lambda 演算(下一章)。发明计算机以后...
分类:
其他好文 时间:
2014-07-19 08:23:38
阅读次数:
238
1.1 什么是函数式编程?
想给函数式编程下个明确的定义,是困难的。因为,存在不同的函数语言,但是,并没有明确的、每种函数语言必须具有的特征集。尽管如此,函数语言仍有一些共同的属性,只是表达解决编程问题的风格稍微有点不同。最容易地描述函数式编程,就是把它与最常见的编程风格:命令式编程(imperative programming),进行比较。
[函数语言]
函数式编程的编程风格是...
分类:
其他好文 时间:
2014-07-19 08:18:52
阅读次数:
212
JavaScript 常见陷阱 总结
1 数组
2 函数级作用域
3 this变量
4 对象直接量和JSON
5 undefined和null
6 replace
7 全局变量...
分类:
编程语言 时间:
2014-07-19 02:36:05
阅读次数:
273