The Book Of Ruby Huw Collingbourne


The Book of Ruby

随着开源社区的兴盛,作为一名开发者,我们在日常工作和生活中接触的开源技术也越来越多,未来开源已成为趋势和潮流。其中,开源书籍也成为了提供给我们开发者学习的免费并且宝贵的资源。在此之前,很多开发者都将自己所感兴趣领域的开源书籍、文档翻译成了中文,分享给国内的开发者参考学习,这似乎也算是对开源社区的一部分贡献吧。

《The Book Of Ruby》是一本与 Ruby 语言 编程知识相关的开源书籍,市面上有这本书的纸质出版书(英文版),而且 Windows 平台下安装了 Ruby 语言之后,这本书的 pdf 文件(英文版)也会随 API 文档存放于 Ruby 根目录的 doc/ 目录下(目前发现,在安装 Ruby 2.3 还是 2.4 版本之后不再附带该 pdf 文档)。

我与 Ruby 结缘也算是一种巧合,源于一个网络游戏。事实上之前我非常喜欢玩《梦幻西游》这款网易公司出品的经典网游,但是随着自己慢慢长大,尤其是进入大学之后,学业上的事情比较繁重,就没有精力再继续玩下去了。然而,《梦幻西游》是一代人的回忆,也是我青春中的一段美好经历,10 年后它依然在,玩家已经换了一批又一批,它也早都不是当年的模样了。

在我读高中期间,偶尔闲暇的时候会上网搜索一下有关《梦幻西游》的信息,一次偶然间发现了民间单机版梦幻西游,下载下来后感觉还不错,而且民间制作单机版网游的人还不少。后来在大学期间,又接触了一批新的梦幻西游单机游戏,这次明显比高中时候接触的那些质量要好得多。这一次,激发我的探索欲,我接触到了 66rpg 论坛和 RPG Maker XP 游戏制作工具,后来也尝试着自己修改 RPG Maker XP 的脚本代码,而这些脚本代码正是由 Ruby 编写的。

Ruby 可以说是除过大学课程里面的 C 语言以外,我接触到并且用来写了大量代码的第一个高级语言,当然后来我也喜欢上了这门语言。Ruby 是一门纯粹的面向对象的脚本语言,可能它的运行效率会慢一点,但它的开发效率是极高的(Ruby 时代提倡敏捷开发)。更重要的是,它的面向对象的编程思想和设计哲学非常值得热爱编程的开发者去学习和借鉴。

Ruby 在前几年因为 ROR(Ruby on Rails)在 Web 开发方面大放异彩,事实上 GitHub 平台就是基于 ROR 构建的。遗憾的是,Ruby 在国内一直不温不火,据说在国外还是比较火的,虽然 ROR 框架现在用的少了,但 Ruby 语言在很多方面还是能看到它的踪影的,例如前端 Sass 工具就是用 Ruby 写的。Ruby 的创造者是一名日本人,也是首个亚洲人创造的编程语言,可能是由于偏见以及诸多原因,让 Ruby 没能成为一门主流语言。但是,Ruby 是一个集合了诸多早期其它编程语言(Perl、Smalltalk、Lisp 等)优点的高级语言,其中的设计哲学有很多地方值得我们去学习和体会。

国内的大多数开发者也许还不了解 Ruby,据说用过 Ruby 的人大多数认为它是对程序员友好的,同时我个人也觉得官方的 API 文档做的也是非常的好,而且从 Ruby 中领略到的面向对象的思维以及元编程的技巧是对开发者充满诱惑的,所以我推荐大家去学习 Ruby,它也许是一个很不错的工具。

在国内 Ruby 的学习资料是稀缺的,事实上 Ruby 相比其它语言(Java、PHP、C++ 等)的英文学习资料也是很少的,但这并不代表人们不认可它,近些年来 Ruby 在全球编程语言排名中一直位居 10 位左右,表现还不错。《The Book Of Ruby》这本书的最新版出版时间距今(2016年)已经约有六、七年了,但它的参考价值仍然是巨大的,全书共二十章,400 多页。该书不是简单的讨论了 Ruby 的语法,而是作者(Huw Collingbourne)带领你步步深入到 Ruby 之中,了解它的核心思想。

因此,我打算将这本书翻译成中文版,一方面是给自己找个事情做,能从中了解到更多编程思想和设计哲学,也方便以后自己去查阅,毕竟中文对我来说还是阅览速度更快的;另一方面呢,将该项目放到 GitHub 平台上,如果国内有 Ruby 的开发者感兴趣可以作为参考,这也算是为开源社区做一点点贡献吧。

目录概述

全书共 20 章节,下面是每一章节的内容概要:

学习资料

最后,我向大家推荐一些有关 Ruby 的学习资料。