Emacs和它的朋友们–编写代码篇

这篇文章是 Emacs和它的朋友们——阅读代码篇 的姐妹篇。值得注意的是,写代码 是比读代码广得多、难得多的一项任务——谁都可以读linux kernel的源代码,可 有多少人可以说自己对linux kernel有提交过多少行代码?(如果您是一位 kernel contributor,请不要往下读了,班门弄斧我会不好意思的:-)

所以,我对能不能写好这篇文章真的没有信心,但我保证一定会认真写。即使写 出来让人看笑话也不怕,因为我真的很认真哦!

1 打字快了不起啊?

选Emacs当编辑器的人,大概都是打字高手吧?因为如果打字跟蜗牛似的话,那选 这么强的编辑器,简直就浪费啊!

如何成为一个程序员 一文中,作者提到要学会盲打(touch typing)以提高 打字速度,并说有一个叫 Michael Tiemann的程序员(开源软件先驱,cygnus创 始人),人们曾经走到他的办公室门口,只为听一下他打字时键盘产生的嗡嗡声。

这给了我很大的鼓舞,所以我也下了很大的力气去提高自己的打字速度。比如我 现在用的键盘部局是Programmer's Dvorak,连中文五笔的输入法键盘部局也是这 个。

直到有一天,我看到“Coders At Work”这本书里对UNIX之父Ken Thompson的采访, 问到他“如果你的编程生涯可以重来的话,你最希望可以改变、提高的是什么?” 的时候,他老人家的回答是“打字。我希望高中的时候我就学一下打字。直到今天 我打字还是很不好…”。顿时我彻底放弃了对打字速度的追求。

现在追求的就是能保护好自己的手,不要像有些牛人一样最后得了 RSI

2 Repeat,repeat,repeat

重复,不停地重复。人类的历史就总是不断地重复。

重复是一把双刃剑。没有重复,我们很难学不会新的知识;太多重复,我们很难 接触到新的知识。

重复是不好的,重复太多的地方往往是性能上的瓶颈,需要优化。

重复又是好的,重复得多了,我们往往能总结出模式来。世上本没有路,走的人 多了才成其为路。