posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

[zz]Ruby两本书读后感

Posted on 2007-06-16 19:54 ZelluX 阅读(709) 评论(0)  编辑  收藏 所属分类: Scripting

http://www.aurora-x.net/blog/oasis/?p=92
by opengl@rygh

现在市面上系统的,由浅及深的讲Ruby的书凤毛麟角,这本是分量最重的一本。原书第二版出版到现在也过去两年了,国内刚刚在这个月由博文引进电工发行了译本。

800+页的大部头,一半是核心库和标准库的参考,另外一半分为三个部分——基础、环境、高级。这其中我觉得比较有价值的部分在于“高级这一块”有助于让你从一个更高的层次来理解和掌握这门语言,这一部分也是需要经常参考的部分。

就国内目前引进的唯一一本算是讲Ruby的书,要从这本书开始学习Ruby估计会吓跑不少潜在用户。作者是大牛没错,不过教学则是另一回事了(大家都应有体会,本科上课的时候课讲的最好的老师通常都不是学术最牛的老师)。缺点有两处很明显:

第一是自顶向下,它的顺序是这样的:

对象和类–>容器、集合–>标准类型–>表达式–>异常和模块–>基本输入输出

一个从上降到低又陡然上升的过程。作者自己也说在第一版里这样的效果并不好,因此在第二版里特意增加了一个介绍性章节,粗略的先把所有东西列给读者看一遍。虽然起到些作用,但是实际效果我想对于初学者来说仍然不会太好。C++/Java的书我都读过不少,也没见哪个是一上来就把Class/Object这些东西甩给读者的,总是从基本类型、控制语句过渡。除非你已经对OO这套相当熟悉了,否则上来这个门槛就能把一堆新手挡在门外。

接下来的,谈不上十分晦涩,但也不是什么读来轻快的内容,关键是作者给的例子较少,使得象块、迭代这些特色难以掌握。再有一点,ruby的语法风格有相当部分还保留有Perl的痕迹,而Perl是出了名的以奇怪符号著称于世,这些符号在新手眼里不外天书,而高手们则爱不释手。

所以,要能比较顺利的通过这本书的入门之路,你得事先具有OO的基础,至少一门脚本语言的经验(Perl最佳),函数式编程的一些概念(否则当你看到块的一些用法时会很迷惑)。然后,可以用Ruby笨拙的写一些小程序了。

Ruby作为动态语言之一,它的最大特点自然是“动态”两个字,其著名的“duck typing”就是一大体现(在我看来,就像是基于接口的调用,但却并不用一个给定的接口去事先限制)。这些在高级部分里都有专门讲述,是应该重点学习的部分。

那么入门究竟用什么书更好?我推荐《Everyday Scripting with Ruby》这本。和《Programming Ruby》同一个出版社,今年一月份刚出了原版。它是以相当循序渐进的方式带领读者进入Ruby的世界,尤其是作者精心设计的几个Project是全书亮点(学习一门语言最好的方式还是要动手写程序)。

最后总结如下,首先看《Everyday》这本书,跟着书中的指导摆弄过所有的Project,并完成相应的练习。然后再看《Programmin》一书的Crystallized部分。再之后就主要是当作API参考手册了。花钱去买中文版我个人觉得不是很有必要,总共四部分中,前两部分我觉得蛮鸡肋的,第四部分在电脑上查更方便,只有第三部分有较高的价值。


只有注册用户登录后才能发表评论。


网站导航: