从两周前到现在,终于断断续续地把Haskell大概浏览了一下。主要看的是“Yet Another Haskell 。。。”。那本在线的东西总体上讲的还不错,只是Monad部分讲的比较抽象,还是看了“All about Monad”的第一章,才感觉有些头绪了。
函数式的程序设计与我熟悉的东西差别还是很大的。传闻有一个python的程序员称“看完Haskell对我自己的python编程也有很大的启发”,我还真没看出来这个“启发”从何谈起。。。。呵呵,可能真正熟悉之后,真的会发现“大道相通”吧。
不过,我认为看看这种东西还是有些好处的。起码,它蕴含着另外一种考虑问题,解决问题的思想。比如Google的MapReduce编程模型,就是函数式语言最为基础的思想。
Haskell被称为“纯粹的”函数式语言,同时也被批评为“把程序员从机器的细节中解放出来,再把他们扔到数学的无边海洋中”。Haskell网站的标志就是一个lambda,可见它的确很注重底层的数学模型。
在国内似乎没有讲授Haskell的教材。但是却有另外一本函数式程序设计的教材“ML for the working programmer”,是将ML语言的。ML虽然不是纯粹的函数式语言,但是,它的确是一门最容易让人接受的语言。首先,它的确是函数式程序设计语言。它考虑问题的思想方法就是函数式的;第二,它放弃了为了追求“纯粹”而引入的一些复杂的数学概念。比如,ML中的输入输出和命令式语言很像,而Haskell为了处理输入输出就只能采用Monad的概念了。我也看过这本书的头两章,很不错。
阅读(2677) | 评论(0) | 转发(0) |