我相信喜欢编程或者有过编程经验的朋友都会喜欢上这篇文章,尤其是对哲学有些感觉的朋友。真应了本文标题“Ruby 之道”的含义,在文章中作者引经据典地介绍了如何使用 Ruby,如何让代码保持简洁性。只有这些还不够,他还从事物的本质或者说哲学意义上进行了阐述。比如下面的节选:
所以 Ruby 美德之一是简单性。我可以在此主题上引用其他思想家的话么?按照 Antoine de St. Exupery 的说法,“完美之道不在于无可添加,而在于无可剔除。” ……
如果我们更好地理解了宇宙,我们可能找到一种“复杂性的永恒法则”——一个现实中扰乱我们生活的事实,例如熵,以至于我们不能逃避,只能改变其分布。
从 1999 年开始接触 Ruby 开始,Hal 就一直活跃在 Ruby 的阵营中,经常参加 Ruby 大会,并以演讲者身份出现。到现在,Hal 还依然活跃于 Ruby 邮件列表和 IRC 频道中,并且有几个开发中的 Ruby 项目。另外他还是 ACM 和 IEEE 计算机协会的成员之一。更有意思的是 Hal 爱好广泛,喜欢音乐、读书、写作、艺术和摄影,还是火星协会的会员之一,并且是一名太空爱好者,他希望在有生之年步入太空。我想这也是为什么能在他的作品中看到旁征博引之处的原因吧。除了哲理分析,Hal 在文章还提出了一些软件开发过程中的真知灼见:
计算机应该是仆人,而不是主人,而且如 Matz 所说,聪明的仆人应该通过几条简短的命令就能完成复杂的任务。整个计算机科学的历史中,这已经成为了真理。我们从机器语言开始,然后进化到汇编语言,之后步入高级语言。 ……
我想据理力争的另一方面是:不要成为性能问题的奴隶。当性能不可接受时,这个问题一定会被处理,但通常它不应该是你考虑的首要问题。宁要优雅不要效率,在效率不是关键的地方。如果你正在写一个可能以不可预料的方式运行的库,性能可能从一开始就是关键。
阅读全文:什么是 Ruby 之道?
评论