诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持...
分类:
其他好文 时间:
2014-11-19 15:44:51
阅读次数:
279
版本
本文翻译自Clojure Namespaces and Vars 本文涵盖如下内容:
+ Clojure命名空间和var概述 + 如何定义命名空间 + 如何使用其它命名空间里的函数 + require,refer和use + 常见错误和典型错误,以及导致这些错误的原因 + 命名空间和代码管理
版权:
This work is licensed under a Creativ...
分类:
其他好文 时间:
2014-11-16 23:08:06
阅读次数:
363
最想看到的:1. 加入脚本语言支持,可以解释运行,作为程序的二次开发语言(类似于vba,python)。2. 可以自定义运算符,为了安全起见,自定义运算符应该特别予以说明(类似于数学表达式,多样式的运算符)。3. 增强函数式编程支持(彻底的支持,而不是用面向对象来模拟)。4.增加单位的支持(例如,对...
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,...
分类:
系统相关 时间:
2014-11-14 23:56:53
阅读次数:
365
函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。传入函数函数的本身也可以作为参数。Python内建的mapreduce的函数。(来源于谷歌的,后来被...
分类:
编程语言 时间:
2014-11-13 12:30:47
阅读次数:
251
优先使用遍历方法而非循环
在使用循环的时候,很容易违反DRY(Don't Repeat Yourself)原则。这是因为我们通常会选择复制粘贴的方法来避免手写一段段的循环语句。但是这样做回让代码中出现大量重复代码,开发人员也在没有意义地"重复造轮子"。更重要的是,在复制粘贴的时候很容易忽视循环中的那些细节,比如起始索引值,终止判断条件等。
比如以下的for循环就存在这个问题,假设n是集...
分类:
编程语言 时间:
2014-11-12 10:33:09
阅读次数:
222
Java8的Lambda表达式确实是一个非常好的特性,但是在哪些场合下使用,其实还是需要仔细考虑的。我们当然不能为了使用而使用,而是需要找到切实有用的场合。在JDBC编程中,例如查询语句,首先需要进行查询参数绑定,其次是处理返回的结果集,这两步操作是每个查询都不同的,而获取JDBC连接,准备PreparedStatement,以及释放资源则都是完全相同的,这就是一个Lambda表达式应用的绝佳场景...
分类:
数据库 时间:
2014-11-11 14:28:58
阅读次数:
346
http://www.nowamagic.net/librarys/veda/detail/1707前面介绍了作用域链和变量对象,现在再讲闭包就容易理解了。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。在直接讨论ECM...
分类:
编程语言 时间:
2014-11-09 11:15:22
阅读次数:
387
1,Scala学习
官方网网站;
http://www.scala-lang.org/
http://www.scala-lang.org/download/
可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala是在JVM上运行。
Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中...
分类:
其他好文 时间:
2014-11-07 20:48:46
阅读次数:
238
要想更好的使用函数式编程,仅仅熟悉其语法结构是远远不够的。必须从思想和设计层面,去考虑它,去接纳它。这种编程范式和大多数开发人员所熟知的面向对象编程范式是不同的。
下面我们从以下几个方面来回顾一下使用函数式编程的要点:
多用声明式,少用命令式
要想更好的使用函数式编程,首先必须要提升代码的抽象程度。之所以使用函数式编程在完成同样任务时需要的代码量比命令式要少,很大程度上就是源于函...
分类:
编程语言 时间:
2014-11-07 11:23:44
阅读次数:
193