绿林网

《Haskell趣学指南》读后感100字

《Haskell趣学指南》读后感100字

《Haskell趣学指南》是一本由[斯洛文尼亚] Miran Lipovaca著作,人民邮电出版社出版的301图书,本书定价:平装,页数:2014-1,特精心收集的读后感,希望对大家能有帮助。

《Haskell趣学指南》读后感(一):行文质量差强人意

几年前网上看过,后半部分当然只能看英文。

最近推荐项目组购入这本书,第一个借阅,发现各种小毛病真多。

中文说不好的话,译者、编辑都有责任。

-----------------------------不该出现的分割线------------------------------

现在字数够了么?

《Haskell趣学指南》读后感(二):越到后面文字越没用

感觉这种东西就不应该用那么多自然语言描述,而是多写一点例子,多用符号。

反正我是看到第11章以后,根本就看不懂他在说什么,只能是从代码例子中,模模糊糊的知道他要表达什么,用自然语言来教这种语言我真的是觉得太吃力了,应该也和翻译没什么关系。

我觉得应该在开头就约定一些新的符号系统,然后用它来描述该语言会比较好。

real world haskell的话,讲的比这本细一点,全面一点,但是有的地方也讲的不好,推荐是两本都看,然后主要是看代码,文字真的没啥用。

《Haskell趣学指南》读后感(三):一句吐槽 . 一道勘误 . 一些点评 $ Haskell趣学指南

本来想写详细点,但是表达能力有限,就短说吧XD。

举的例子都非常的好,对functor,monad的切入也很不错。不过我学完后还是什么都写不出来的感觉(我自己的问题)。作者的这本书更像书博客系列,可读性强,不枯燥,但是涉及面太少了。比如我试着像作者一样写monad,但是编译器却报错,后来我查了一下才知道要写monad的instance,得先让其成为Functor, Applicative的实例,而写monoid的实例,得先成为Semigroup的实例。作者没有提及,所以学得时候遇到好多的问题。还有作者没有涉及标准库,所以我对haskell的标准库结构缺乏一个感性认识,如果去看标准库文件,里面的一大堆操作符有点恐怖!可能作者写作本意就如此,他希望读者是对这门语言有个感性认识并专注于函数式思维,而不是专注于编程的细节之中。

读这本书最大的收获是新思维方式吧,想问题的解答之前先思考输入是什么输出是什么,把接口定义好(成为Functor、Applicative、Monad的实例),再去实作。不过不知道这算不算是函数式编程中的样板代码呢?

后面的内容虽好,但是作者在一些问题上给出的答案都是给人“看起来是这个结果”的感觉。一些看起来很直观的问题其实一点也不直观,如果仔细写出那些Monad的计算过程其实是很复杂的,至少对初学者来说是这样。作者这种“想当然”还是会犯错,下面我更正一个错误。

在Chapter 13中“The State Monad”章节的最后一段代码是错的:

左边是原文,中间是等价代码,右边是正确的

最左边的是原文的代码(其实不是的,我多加了一个“pop”)。原文的代码是错误的,因为它的结果总是do结构最后的那个“pop”产生的结果。因为先“push”一次,再“pop”两次——其结果就好像“pop”一次那样,这正好掩盖了错误。如果你在后面加任意个“push”和“pop”的组合,并让最后一个动作是“pop”,你会发现结果总是一样。我故意加了一个“pop”,你可以验证他跟原文的代码产生一样的结果。 中间的代码是翻译过来的代码,大致是这样,你可以了解到为什么它总是最后一个“pop”的结果。(关于do实际等价的代码可以参考这里:Haskell/do notation。如果中间代码并不完全等价于左边,请告诉我)。 最右边的代码是实现了正确语义的代码。

最后想吐槽一下函数式编程,以前看过一个比较有名但有争议的人写的文章,说monad那种东西不过是函数式语言的缺陷造成的,因为没很好的地方保存数据,所以通过monad来将这些数据穿过去达到目的(我不记得他是否只是吐槽haskell本身)。通过这本书了解一些之后觉得还是蛮有道理的,不过学到的思维是好的。

本文由作者上传并发布(或网友转载),绿林网仅提供信息发布平台。文章仅代表作者个人观点,未经作者许可,不可转载。
点击查看全文
相关推荐
热门推荐