随着Ruby和Rails的不断升温,可以预见很快就会有更多阐述某一细部的技术书籍出现,各种经验与模式也会结集出版。也许不久之后,就再也没人能像作者这样给出一份“Ruby完全读书指南”了。所
以,能读到这样一篇文章,就当做是Ruby与你的缘分吧。
看到这样一个题目,大概很多读者会记起这样一张图片:左边堆着高高一摞关于Java的技术书籍,右边则是区区两本关于Ruby的。炮制这张图片的用意显而易见,不过随着Ruby和Rails的急速窜红,Ruby图书也开始如同雨后春笋般纷纷问世——这也意味着学习者们需要花越来越多的时间和精力来挑选适合自己的书了。
也许Ruby(以及Rails)正在像Java(以及J2EE)一样,不可逆转地变得越来越庞大,因此也需要越来越多的图书来阐释。不过至少现在,我们还可以把所有关于Ruby的图书列举一遍——对于Java,这已经是一个不可能的任务。说句题外话,之所以我迫不及待地急着写这篇书评,正是因为我相信它在不久之后也会成为一个不可能的任务。
Programming Ruby(2nd Edition)
这似乎已经不是怪事:关于一种编程语言的经典教材,作者不是这门语言的创造者。就像Stan Lippman之于C++、Joshua Bloch之于Java、Martin Fowler之于UML一样,Dave Thomas也许是这个世界上最善于向别人讲解Ruby语言的人——至少超过Matsumoto是毫无问题的。也许正是因为自己也经历了“不懂到懂”的学习过程,有时候“旁观者”反倒比“创造者”更清楚学习者们需要什么。
所以这本书就是Ruby的经典教材。关于Ruby的基本语法和常用工具,书中第一部分和第二部分做了详细的介绍。第三部分“Ruby Crystallized”更加阐述了Ruby语言的一些细节和设计理念,其中第23章“Duck Typing”是刚从Java或者.NET平台走出来的读者不可错过的,因为对于类型与契约的理解、对于类与类型的理解,正是Ruby这种动态语言与Java/C#等静态语言最大的区别之一。随后的第四部分提供了Ruby基础类库的速查手册。
Dave Thomas和Andy Hunt这两个“Pragmatic Programmer”并非浪得虚名:这本Programming Ruby虽然不是一本称职的参考手册,却足够帮助一个初学者步入Ruby世界而不致误入歧途,并且能够在很少见的一些情况下——譬如说忘了yield的用法——给有经验的Ruby程序员提供帮助。在我看来,这也就足够奠定它作为经典教材的地位了。由于封面上有一柄丁字镐,这本书也被昵称为“镐头书”——它正是你发掘“红宝石”(Ruby)宝藏的必备工具。
Agile Web Development with Rails
Rails的作者David Heinemeier Hansson说过一句大实话:“我从来不会为了学语言而学语言。”大多数人在大多数时候学习一种新的语言不是为了比较语言的优劣,而是因为这个语言底下的某个工具能给他的工作带来帮助。Ruby世界里的这个“杀手应用”,让Ruby在短短一年时间里成为焦点的这个工具,就是Rails。
这是第一本介绍Rails的图书,又是由Rails的作者DHH和前面提到的Dave Thomas共同撰写,其价值可谓不言而喻了。许是两位作者有太多的“干货”想要交给读者,这本书的第一版被他们——不幸地——写到了558页之厚。书中首先展示了一个规模不大的在线购物网站,让读者亲身体验用Rails进行敏捷开发的感受;然后针对Rails框架的各个组件和安全、部署等延伸话题展开了深入的讨论。其内容之全面、探讨之深入,令人叹为观止。看起来,和Matsumoto不同,DHH很清楚应该怎么介绍自己的作品——不管是“浅出”还是“深入”。
值得中国读者高兴的是,这本书的第一版已经由林芷薰翻译,电子工业出版社付梓。Rails仍然处在高速发展的阶段,从本书第一版截稿至今,Rails已经发生了相当大的变化,因此这本中译本甫一面世便已经有很多过时之处。但这本书毕竟不是参考手册,作者更多地是在其中阐述Rails的设计理念和最佳实践。对于英文阅读无法达到最快速度的读者来说,这个译本未尝不可以是一个称职的向导。
Rails开发者助手两种
不难想象,有很多性急的程序员会——就像我一样——草草了解Ruby语法之后就一头扎进Rails的绚丽宫殿,体验快速开发web应用的成就感,却不得不时时因为缺乏对Ruby语言的深入了解而感到迷惑:这个类里什么都没有,它为什么会工作?那个地方写的代码是什么意思?可是,要全面系统地学习Ruby,又实在令人望而生畏。还好,我们有这本Ruby for Rails。书中介绍了一些Ruby语言特性——既有普通的也有高级的,都是Rails中使用到的。简而言之,这就是一本专门为Rails应用开发者提供的Ruby指南。更有趣的是,书中还用了一章(第17章)篇幅专门介绍“如何探索Rails源代码”,真可谓是“授人以渔”的典范了。
另一个“助手”则是Chad Fowler——他也是Programming Ruby的合著者——的Rails Recipes。和任何一本“菜谱”(recipe)一样,这本书不会教你如何使用菜刀与炒勺、如何把蔬菜切片——你可以从别的很多地方学到这些技巧。这本RailsRecipes教给读者的,是如何在 Rails环境下急就章地完成一个你需要的功能。譬如说“用户登录与身份验证”这件事,每个网站、每个开发者都曾经做过不止一次,这本书中就给了读者一个简单而可靠的解决方案,读者只要抄抄改改,几分钟就可以完成这个功能。对于初接触Rails(以及Web 2.0)、面对很多问题尚且无从下手的新兵来说,这本书确实可以帮助他们解决一些实际问题。
不过这本书的局限也同样明显:如果你需要的菜色超出了这份菜谱的范围,它就只好爱莫能助了;而且,仅仅给出解决问题的代码,却没有对应的单元测试,也让习惯了TDD的读者多少有些忐忑。在我看来,这本书对“授人以鱼”的专注恰好和前一本Ruby for Rails构成了一对“可怕的对称”,也让这两本书有理由共存于Rails开发者的案头。
Ruby In A Nutshell,以及Ruby老书四种
作为Ruby语言的缔造者,Yukihiro Matsumoto只能写一本“果壳书”,这本身就是一件耐人寻味的事情。O’Reilly的“果壳书”系列历来褒贬不一:有人认为它们缺乏深度,也有人认为它们是快速入门的好帮手。但Matsumoto最大的问题在于:他创造了Ruby,却没有真正意识到这种语言到底有多大的威力——后来他经常在Ruby on Rails讨论组活动,从中了解一些精妙的Ruby用法。其结果也很自然:这本Ruby In A Nutshell作为语言参考中规中矩,但对于实际应用中的妙处——例如在DSL方面的应用——却语焉不详。再加上它所针对的Ruby版本是略显过时的1.6版,也让这本书的地位略显尴尬。
和这本“略显尴尬”的Ruby In A Nutshell比起来,另外的几本老书基本上已经失去了可读的价值:它们出版于2001或者2002年,既不针对最新的Ruby版本,又没赶上Rails的热潮,作为语言参考也缺乏Matsumoto那样的权威性,所以这几本书也就被归入“不值一读”之列了。它们是:
Ruby Developer’s Guide,Syngress Publishing 2002
The Ruby Way,Sams 2001
Making Use of Ruby,Wiley 2002
Teach Yourself Ruby in 21 Days,Sams 2002
Ruby 奇书两种
称它们为“奇书”,因为它们的主题实在偏颇。先看这本Enterprise Integration with Ruby:虽说脚本语言常常被称为“胶水”,有多少人会当真想到用Ruby去做企业应用集成?不过细看之下,这本书多少有些名不副实之嫌,因为它真正介绍的无非只是如何访问数据库、如何操作XML、如何通过SOCKET通信之类比较底层的技术而已。在一个生僻的题目之下写着另一些生僻的内容,尽管这些内容算得上有趣,但我还是要对那些没有读过这本书的Ruby程序员说:你没有错过太多——尽管这本书与你想象的并不一样。
最后要介绍的这本书更是备受争议:有人盛赞它是“精通Ruby的必经之路”,也有人批评它沉溺于奇技淫巧缺乏实用价值。但无论褒贬,更多的读者正在逐一挑战其中的谜题——这本书就是James Edward Gray所著的Best of Ruby Quiz。这本书(目前出版的是第一卷)列举了25道题目,读者大多可以想出一种办法来解决这些问题,往往还能 通过思考和重构找到第二种优雅的设计,但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。这些题目的最终解法之巧妙,常常令人拍案叫绝(或是破口大骂)。不过这些“奇技淫巧”也并非全无用处,例如书中很多题目在解答时都用到了正则表达式,理解这些解答对于深入学习正则表达式的用法是很有帮助的。
草率而又艰难地,我们粗粗浏览了2006年6月之前出版的所有Ruby图书。迄今为止,所有这些Ruby图书都是针对整个Ruby语言、或是针对Rails框架的,只是关注角度各有区别。随着Ruby和Rails的不断升温,可以预见很快就会有更多阐述某一细部的技术书籍出现,各种经验与模式也会结集出版。也许不久之后,就再也没人能像这样给出一份“Ruby完全读书指南”了。所以,能读到这样一篇文章,就当做是Ruby与你的缘分吧。
分享到:
- 2007-07-31 23:41
- 浏览 2766
- 评论(2)
- 论坛回复 / 浏览 (2 / 4076)
- 查看更多
相关推荐
《The Book of Ruby》是由Huzaifa Sidhpurwala与Huw Collingbourne两位专家共同编著的一本深入探讨Ruby编程语言的书籍。该书不仅适用于Ruby编程初学者,也适合希望深入了解Ruby高级特性的开发人员。本书通过循序渐进...
在"ruby书籍1"这个压缩包中,包含了两份重要的学习资料:RubyCourse_1.0-1.pdf和rubyonrails.pdf,这些都是深入理解Ruby语言和Ruby on Rails框架的关键资源。 《RubyCourse_1.0-1.pdf》可能是一本详细的Ruby教程,...
阅读《Ruby 书籍1》(可能是“Ruby.chm”文件),你将全面了解 Ruby 的语言特性,学习如何利用这些特性进行高效开发,同时还可以了解一些最佳实践和设计模式。结合实际的代码示例和练习,将帮助你快速提升 Ruby 编程...
尽管文件名称列表中只有一个"books",但我们可以推测这个压缩包可能包含了一整个图书馆的电子版Ruby书籍,每本书可能有单独的章节或部分,涵盖不同的话题,如Ruby基础、面向对象编程、测试驱动开发(TDD)、持续集成(C...
《Ruby for Rails: Ruby Techniques for Rails Developers》是2006年出版的一本关于Ruby编程语言和Rails框架的书籍,适合Rails开发者深入学习Ruby技术。这本书由David A. Black撰写,旨在帮助Rails开发者提升对Ruby...
Ruby是一种面向对象的、动态...通过阅读《Ruby入门书籍》和相关文档,你将能够掌握Ruby的基础和进阶知识,理解其编程哲学,并能开始编写自己的Ruby程序。记得实践是检验理解的最好方式,边学边练,不断探索Ruby的魅力。
- **书籍**:除了上述提到的几本书之外,还有许多其他的Ruby书籍可供选择,如《Programming Ruby》等。 - **社区参与**:加入Ruby社区论坛或社交媒体群组,可以与其他开发者交流经验和解决问题。 - **实践项目**:...
同时,可利用在线教程、课程视频、图书等资源进行系统学习。 如果在学习过程中遇到技术问题,可以通过社区论坛、邮件列表、聊天室等途径与Ruby社区的其他开发者交流。此外,由于技术不断更新,保持对最新Ruby版本的...
Amazon网站销量排名前三的Ruby图书,五星重量级推荐! “《The Ruby Way (第2版)中文版》在阐述元编程(metaprogramming)等方面尤其出类拔萃,而元编程是Ruby最引人注目的方面之一。” ——Ruby on Rails之父David ...
### Ruby 教程《The Book of Ruby》知识点总结 #### 一、书籍基本信息 - **书名**:《The Book of Ruby》 - **作者**:Huw Collingbourne - **出版年份**:2011年 - **出版社**:No Starch Press - **ISBN-10**:1-...
《Programming Ruby》被誉为是最好的Ruby编程书籍之一,它不仅详尽地介绍了Ruby语言的基础知识,还深入探讨了Ruby的核心概念和技术细节。这本书由David Thomas、Andy Hunt、Thomas A.EW Matthews和David Heinemeier ...
此外,《Programming Ruby》的作者们经常更新书籍内容,确保读者能够获得最新、最准确的信息。 综上所述,《Programming Ruby》是一本集理论、实践和社区智慧于一体的综合性教程,无论是初学者还是有经验的开发者,...
- **亚马逊评分5星好书**:这表明该书受到了广泛的好评,并被认为是关于Ruby内部机制方面的一本权威书籍。 #### 标签解析 - **ruby**:表示该书主要关注的是Ruby编程语言。 - **hack**:在这里可能是指对Ruby内部...
内含 12 本 Ruby 语言中英文教程资源,本资源下载后解压缩将得到以下图书: Programming Ruby 2nd.pdf Agile Web Development with Rails 2nd ed.pdf Agile Web Development with Rails.pdf Best.of.Ruby.Quiz.pdf O...
一本免费的在线书籍,旨在为您提供简洁,易学的Ruby学习指南。
《Programming Ruby》是一本关于Ruby编程语言的经典著作,由Dave Thomas、Andy Hunt和Chad Fowler合著。这本书自2004年初版以来,一直是学习Ruby的首选资源,被誉为“Pickaxe”书,因其封面的图标而得名。Ruby是一种...
"The Ruby Way.chm"则可能是《The Ruby Way》一书的电子版,这是一本深入介绍Ruby编程实践的书籍,它不仅讲解了Ruby的基本语法,还分享了编写高效、简洁Ruby代码的技巧。书中可能包含了大量的示例代码和实践案例,...
"爱书吧-2万本图书免费下载.url"是一个链接,可能指向一个提供大量免费图书下载的网站,对于扩展学习资源非常有帮助。 总的来说,这份"ruby ebook"资源为Ruby初学者提供了一条系统学习的路径,通过深入学习,不仅...
Programming Ruby是Ruby编程的经典书籍,通常被称为“Pickaxe书”。这本书深入浅出地介绍了Ruby的各个方面,包括语言特性、标准库以及开发工具。中文翻译版可以帮助中文读者更好地理解书中的概念,从而提高学习效率...