编程语言与函数式编程
函数式编程中最古老的例子莫过于1958年被创造出来的LISP了,通过 LISP,可以用精简的人力。较现代的例子包括scheme、Haskell、Clean、Erlang和Miranda等。虽然 λ 演算并非设计来于计算机上运行,但可视为第一个函数式编程语言。1980年代末期,Haskell发布,企图集合很多函数式编程研究里的想法。
来自WIKIPEDIA:
纯函数式编程语言
- 强静态类型
Concurrent Clean
Haskell
Miranda
- 弱类型
Lazy K
非纯函数式编程语言
- 强静态类型
F#
ML
OCaml
Scala
- 强动态类型
Erlang
LISP
LOGO
Scheme
Mathematica
R
- 弱类型
Unlambda
其他函数式编程语言
APL
XSLT
1 资料:Anders Hejlsberg 在比利时TechDays 2010所做的开场演讲
http://channel9.msdn.com/blogs/adebruyn/techdays-2010-developer-keynote-by-anders-hejlsberg
由盛大创新院的赵劼翻译,转自他的博客: http://blog.zhaojie.me
编程语言的发展趋势及未来方向(1):历史回顾及趋势概述
编程语言的发展趋势及未来方向(2):声明式编程与DSL
编程语言的发展趋势及未来方向(3):函数式编程
编程语言的发展趋势及未来方向(4):动态语言
编程语言的发展趋势及未来方向(5):元编程
编程语言的发展趋势及未来方向(6):并发
编程语言的发展趋势及未来方向(7):总结
http://blog.zhaojie.me/2010/04/trends-and-future-directions-in-programming-languages-by-anders-1-history-and-trends.html
2 对象-函数式编程 与 Scala
外刊IT评论:对象-函数式编程简史
http://news.csdn.net/a/20100311/217407.html
3 函数式编程 是一种编程规范,很多语言都支持,并非只有专门的函数式编程语言;比如来自IBM DW的文章,介绍java, javascript中的函数式编程
- 2006: 用函数式编程技术编写优美的 JavaScript
Shantanu Bhattacharya, 首席顾问, Siemens Information Systems Limited
http://www.ibm.com/developerworks/cn/web/wa-javascript.html
- 2004: Functional programming in the Java language
Use closures and higher order functions to write modular Java code
Abhijit Belapurkar ([email protected]), Senior Technical Architect, Infosys Technologies Limited
http://www.ibm.com/developerworks/java/library/j-fp/index.html
2007年的网络博文:
“ 最早的函数式语言当然是Lisp,现在有两个分支:Common lisp 和Scheme。Common lisp 是一个庞大的语言,支持多种编程范式,Scheme是Common lisp的子集,二者都是ANSI标准。Scheme 由于语言核心很小,多用在教育领域,Common Lisp多用来写专家系统,也可以构造大型软件。
最纯的函数式语言是Haskell,完全没有副作用,有一个Hakell98标准,但还不是ANSI或ISO标准,算是一个社区标准吧。
ML也是一种跟Lisp差不多老的语言,现在有Standard ML,Caml和微软的F#三个常见变种。
Lisp 和Scheme 在tiobe的排名还不错,又老又壮,ML 和Haskell比 Lisp家族都要年轻,用的人明显少了很多,社区也比较小。erlang和ocaml排名都很后。
”
- 概念: DSL, GPPL , 声明式编程,元编程 , lambda演算, 闭包