1/5
文档分类:IT计算机

[探讨]学习函数式编程的理由.doc


下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

特别说明:文档预览什么样,下载就是什么样。

下载所得到的文件列表
[探讨]学习函数式编程的理由.doc
文档介绍:
[探讨]学****函数式编程的理由.doc[探讨]学****函数式编程的理由
2011-10-18 09:11 | 3887次阅读|来源:dave.fayr【已有。条评论】发表评论
关键词:函数式编程|作者:Dave Fayram |收藏这篇资讯
导读:本文是从《Functional Programming Is Hard,That's Why It's Good》这篇文章翻 译而来。
文章内容如下:
很奇怪不是,很少有人每天都使用函数式编程语言。如果你用Scala, Haskell, Erlang, F# 或某个Lisp方言来编程,很可能没有公司会花钱聘你。这个行业里的绝大部分人都是使用 像Python, Ruby, Java或C#等面向对象的编程语言 它们用起来很顺手。不错,你也 许会偶然用到一两个“函数式语言特征”,例如“block”,但人们不会去做函数式编程。
然而,很多年来,我们一直被教导说函数式编程语言很好很棒。我仍然记得当我第一次阅读 ESR的著名的关于学****Lisp语言的论文时的困惑。也许大多数的人对Paul Graham的
Weating The Averages》这篇文章更加熟悉:
使用Lisp开发使我们的开发周期迭代的如此之快,以至于有时当竞争对手在新闻发布 会上推出他们的新功能一两天后,我们就能复制出同样的功能。当报道产品发布的新闻 记者打电话给我们时,我们的产品已经拥有了同样的功能特征。
那些皈依函数式编程的人中,一直常见的考虑是:学****这种新的、函数式的语言“对你有好 处”;就像是某些人建议说每天30分钟的健身房活动会“让你的身体健康”一样。但这也同时 暗示了这样做的难度和需要的付出。Lisp语言跟HaskelK Ocaml和Scala语言不同,被认 为是出了名的难学,可以说是臭名昭著。文雅的人说这是Lisp语言的“深度&广度”的体现。 不文雅的人说这是“意***”或“玩弄学术”或简单的“没必要”。我认为,它的难度跟你对它熟不熟 悉有关,而且,这种难度是一种重要指标显示:学****这样的一种语言会让你编程更有效率、 能力更强。
它给你的初次印象不友善
我7岁时就开始编程,在漫长无聊的郊区夏季里,在我祖父的计算机上瞎搞一气。我学了 BASIC,用它在屏幕上画一个蹦跳的球。我学了 Pascal,用它写了一个能通过PC喇叭放 音乐的程序。大概10岁时我学了 C语言,但遇到了一堵越不过去的墙,直到我上了高中。 那就是:指针。即使不算这些该死的指针,我写、读、学****练****中,同样遭遇无数的失败。 我把祖父的硬盘给毁掉了两次(一次属意外),最后弄得不少次要自己重装操作系统。我失败, 一遍遍的失败。

也许你也有跟我相似的故事,也许是完全不同的一个。但我想,差不多所有学过编程的人都 有过遇到困难的经历。我们在学了一些基本知识后,必然会遇到一些公认的概念上的关口, 比如“指针”。很多计算机科学教授会把指针描述为他们课程上的过滤网。如果你想成为一名 优秀的程序员,你必须要能理解指针。很少人能轻松的掌握它们。大多数人,包括我,则需 要不断的练****和参考例子来理解什么是指针、为什么它们很重要。
这种艰难的努力过程不是偶然的,是一种几乎普遍的现象。指针是一种非常强大和基础功能 的概念。学会它能让你成
内容来自淘豆网www.taodocs.com转载请标明出处.