函数式编程?

今天无聊,偶尔上来看看,突然发现两篇文章4个程序员的一天也说Functional Programming
突然觉得很不是滋味,要说函数式编程出现好久了,大家都知道Lisp和Scheme这些元老级别的编程语言,我也曾听一些人说:“唉,Lisp简单了,就 是括号烦”,我就觉得,其实这些人根本没有理解什么是函数式编程.我有一些同学,其实我觉得他对一些东西的了解很肤浅,比如,做个Word建个目录索引都 不会,也会在简历上写一笔“熟练使用Word”。还有,学了一下C#,能写个什么简单的程序,便说自己“精通.Net”。
上个学期学院请了一个老外来讲课,讲了Functional Programming,我当时就觉得“好啊”,这么重要的东西,可以开阔大家的思路,我们教了Haskell,老师没讲多少,大家可能也稀里糊涂学过去 了。事后问了同学,大多这样想“这个没什么用啊”“不如Java用得爽”“以后又不能用它赚钱”云云……让我很是难过。
国内总好像呈现这样一种情况,总是看者哪种技术有"钱途",就去学哪种技术,昨天Sun推Java,大家蜂拥而上,今天Microsoft宣.Net,一会儿有来个MDA,SOA,大家又紧紧跟上,有的捡个概念,有的学个基础,然后大家大呼软件开发的革命到了!
这 些函数式语言是建立在很深的数学基础上的,什么Lambda运算,什么闭包,很多理论都十分深奥难懂,我一直后悔自己没有把数学学好,所以我很难透彻地去 理解这些理论,而学好这些东西,可以了解另一种新的编程方式,而不是陷在所谓的OO中。然而却有人说Lisp这种东西只有"学院派"才去用。看来中国没有 这些“学院派”,都是很实用的,难道中国真得 不需要这样一批“学院派”?不需要这样一批人去透彻地理解和研究这些东西?我看不是,而是很多人都是忙于赚钱,没时间去顾及研究这个东西,手头的技术只要 能够用赚到钱就可以了,脑子里的名词只要能熟练吹能蒙住客户就行了,还有多少人能去深入地进行一下研究。也难怪中国没有有特色的编程语言──人家日本人都 发明了RUBY,巴西人都有LUA,也难怪中国的IT有那么多的怪现象……
唉,不发劳骚了。
话说回来,像Functional Programming的原理,其实在很多语言中都有,像Smalltalk、我们常用的JavaScript也是、Python、PHP、LUA、REBOL等等,当我们在苦苦思考如何用OO解决一些问题的时候,也许FP已经帮我们指明了方向。

见:
JavaScript = C + Lisp
Python 不是 Java

posted on 2005-07-20 13:39  ShiningRay  阅读(658)  评论(1编辑  收藏  举报