写点什么

文章:什么是 Ruby 之道?

2007 年 10 月 06 日

我相信喜欢编程或者有过编程经验的朋友都会喜欢上这篇文章,尤其是对哲学有些感觉的朋友。真应了本文标题“Ruby 之道”的含义,在文章中作者引经据典地介绍了如何使用 Ruby,如何让代码保持简洁性。只有这些还不够,他还从事物的本质或者说哲学意义上进行了阐述。比如下面的节选:

所以 Ruby 美德之一是简单性。我可以在此主题上引用其他思想家的话么?按照 Antoine de St. Exupery 的说法,“完美之道不在于无可添加,而在于无可剔除。” ……

如果我们更好地理解了宇宙,我们可能找到一种“复杂性的永恒法则”——一个现实中扰乱我们生活的事实,例如熵,以至于我们不能逃避,只能改变其分布。

从 1999 年开始接触 Ruby 开始,Hal 就一直活跃在 Ruby 的阵营中,经常参加 Ruby 大会,并以演讲者身份出现。到现在,Hal 还依然活跃于 Ruby 邮件列表和 IRC 频道中,并且有几个开发中的 Ruby 项目。另外他还是 ACM 和 IEEE 计算机协会的成员之一。更有意思的是 Hal 爱好广泛,喜欢音乐、读书、写作、艺术和摄影,还是火星协会的会员之一,并且是一名太空爱好者,他希望在有生之年步入太空。我想这也是为什么能在他的作品中看到旁征博引之处的原因吧。除了哲理分析,Hal 在文章还提出了一些软件开发过程中的真知灼见:

计算机应该是仆人,而不是主人,而且如 Matz 所说,聪明的仆人应该通过几条简短的命令就能完成复杂的任务。整个计算机科学的历史中,这已经成为了真理。我们从机器语言开始,然后进化到汇编语言,之后步入高级语言。 ……

我想据理力争的另一方面是:不要成为性能问题的奴隶。当性能不可接受时,这个问题一定会被处理,但通常它不应该是你考虑的首要问题。宁要优雅不要效率,在效率不是关键的地方。如果你正在写一个可能以不可预料的方式运行的库,性能可能从一开始就是关键。

阅读全文:什么是 Ruby 之道?

2007 年 10 月 06 日 19:56350

评论

发布
暂无评论
发现更多内容

八个排序的原理、Java 实现以及算法分析

多选参数

数据结构 算法 排序 排序算法 数据结构与算法

K8S 中的 Grafana 数据持久化

耳东

Kubernetes k8s Grafana 配置文件持久化

架构师训练营第7周

大丁💸💵💴💶🚀🐟

第7周总结+作业

林毋梦

Github 创建发行版本

耳东

GitHub github release

随着并发的增加,响应时间和吞吐的变化

朱月俊

elasticsearch 游标 使用

wkq2786130

elasticsearch

如何找一碗正宗的热干面

zhoo299

美食

第七周命题作业

天之彼方

架构师训练营第7周

大丁💸💵💴💶🚀🐟

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

一叶知秋

重置 Grafana admin 密码

耳东

Grafana Grafana password

解决 EXT4 使用无法挂载

耳东

ext4 journal

MySQL 锁表后快速解决方法 及 锁表原因

wkq2786130

MySQL

解决 transition 在 display 属性上不生效的问题

苏七Max

css3

Git 常用命令总结

苏七Max

git

米酒米酒黼子酒

zhoo299

美食

第 7 周 - 作业 2

seng man

JavaScript 中的 Object.defineProperty

苏七Max

Java 前端

话说性能那些事

朱月俊

架构师训练营第七周学习总结

fenix

极客大学架构师训练营

neo4j load csv 使用

wkq2786130

ES6 Promise 对象介绍

苏七Max

Java 前端 ES6

antd vue 使用upload组件action上传文件

Seven_xw1213

前端 antd vue upload

自己动手实现一个 Promise

苏七Max

Java 前端

问题驱动

林昱榕

学习 问题驱动

Scrapy爬虫入门

烫烫烫个喵啊

python 爬虫

JavaScript 类型判断

苏七Max

Java 前端

架构师0期07周作业

我在终点等你

第七周总结

天之彼方

过早三件套之面窝

zhoo299

美食

「中国技术开放日·长沙站」现场直播

「中国技术开放日·长沙站」现场直播

文章:什么是Ruby之道?-InfoQ