首页 > 动态语言, 挨踢(IT) > 简评《The Well-Grounded Rubyist》

简评《The Well-Grounded Rubyist》

2015年9月29日 发表评论 阅读评论 169 人阅读    

由于Ray的推荐,《The Well-Grounded Rubyist》刚刚出版没多久就让在美国出差的朋友帮我带了一本原版回来。这是我买的第二本英文原版书了。(以前买过一本,这次一下子买了两本,另一本还没看,这本算是第二本吧,哈哈)(七考四级而不过的人,被逼着看英文原版书,我容易嘛?!O(∩_∩)O哈哈~

书买来,一直放着,拖到今年七八月份才开始看,花了一个月的工作之余看完(其实还差80页没有读完,滥竽充数,暂且算是读完吧,哈哈),今天写点东西,需要参考 Ruby 的一些API设计,另外写文章需要提一下这本书,看到没有豆瓣上没有人评论这本书,就来写个评论,推荐一下。

这本书和其他很多书不一样的就是,简要介绍完 Ruby 的一些基本知识后,上来就是面向对象编程思想,直接从对象、方法、实例、变量开讲;介绍类、模板的组成,再然后才讲解了基本的语法,判断、循环等。中间部分,花了大量篇幅讲解Ruby核心类的常见用法,String、集合类、正则表达式、文件IO等,D瓜哥觉得最重要的是,还把Ruby代码块和迭代的原理,比如 eachmap 方法等,通过自己写代码的方式,一一实现,然后再对原有功能进行深入讲解,这点真可谓深入浅出,非常非常赞!讲Ruby,肯定少不了元编程。最后,花了三章的篇幅讲解了一下Ruby的元编程,讲了对象的独特性、Proclambda表达式、回调、hook等,也有不少料。这就是本书的内容概要。

其中,对D瓜哥来说,印象最深的,是书中第五章。因为我是学 Java 出身,而 Ruby 中变量作用域和 Java 中差别非常大。所以,一直搞不清楚,Ruby 中的self到底是神马意思,更让人迷惑不解的是,恰好 Java 中也有一个类似的词汇this。简直是一头雾水。但是,看了这本书,这头乌云就拨云见日,清晰明朗了。这个必须给三十六个赞!!让人觉得更赞的是,里面还配了一张图,对比了各个结构中self的含义,真是一图胜千言!赞赞赞!

另外一个印象很深的地方就是,第六章对代码块和迭代的讲解,而且还细致到自己动手写代码来实现eachmap等方法,然后再用这些自己实现的方法,来实现其他更高级方法。(其实无所谓“高级”,只是依赖each等这些方法的方法)所以,这些和我原来的理解是相差无几,但是这样清晰明了地用代码实现,还是不得不称赞作者的良苦用心。赞!

第三个印象很深的地方,就是方法定义,在第二章。她先把常用的方法按照常规的思路实现写出来,然后指出其中的不足,再把解决这些问题的 Ruby 中的语法糖请出来,很自然、而有别致地联系起来,让人知其然,也知其所以然。再赞!

说了这本书这么多好话,公平起见,再说点个人感觉这本书不是很到位的地方:

  1. 这本书没有涵盖任何关于线程、并发的话题。这个连手机都动辄六核、八核的时代,不能不说是一种遗憾;
  2. 这本书也没有讲解任何关于Socket通讯相关东西,这部分内容我也是最近才开始看Java这方面的资料,了解不多,不做更多的探讨;

另外,还有一点不知道该表扬还是该批评的地方,就是关于元编程的讲解。理由也很有特别:因为D瓜哥看过更好的书《Ruby元编程(第2版)》,而且这本书刚刚出了第二版,强烈建议购入。不过,D瓜哥觉得,如果能两本相互参考着看,相比是极好的。

不知不觉,洋洋洒洒写了这么多,还是第一次在豆瓣写这么长的书评算是破处了,想约的,请速速联系。

最后,用松本行弘开发Ruby的宗旨来结束本文:Code for Fun!



作 者: D瓜哥,http://www.diguage.com/
原文链接:http://www.diguage.com/archives/134.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。



如果感觉这篇文章不错,请点击这里的分享按钮,分享到微博等地方去,让更多人受益!
您的支持是D瓜哥最大的写作动力!谢谢!

无觅相关文章插件,快速提升流量