享受工具帶來的樂趣

伯樂線上讀者發表於2011-09-07

我最近正在思考來自唐納德·克努斯的一段話:

The enjoyment of one’s tools is an essential ingredient of successful work.
享受工具,是成功工作的重要組成部分。

這段話很有意義。我的部落格上幾個星期前也記錄了來自喬·阿姆斯特朗(Erlang 程式語言的設計者)的一段話:

Forget about the tools … buy a decent book and type in the programs by hand. One at a time thinking as you go. After 30 years you will get the hang of this and be a good programmer.
忘記工具。買一本好書,手工敲程式。每次都好好想想。30年後,你將掌握其中竅門,併成為一個優秀的程式設計師。

我不認為唐納德和阿姆斯特朗的觀點完全矛盾。我來說明每段話的背景,以及如何將它們放在一起。

唐納德的話背景是浮點運算的討論。它是《半數值運算》中的章節4.2.2A的最後一句話。他說,儘管浮點運算本身就不精確,但重要的是,它依然具有某些不錯的數學性質。我相信他有意讓這段引文傳播得更加廣泛,一部分是因為他用斜體標出。總之,他關於“工具”的直觀想法很低階( low-level)。

阿姆斯特朗的那段話的背景是他建議遠離毫無必要的軟體工具,特別是當你第一次學習程式語言的時候。他說,IDEs和構建工具是開始程式設計的最大障礙。他接著說他的基本程式設計配置是shell、makefiles 和Emacs。這些是工具,我認為阿姆斯特朗喜歡使用它們。相對於浮點運算而言,它們是高階工具,不過對於IDEs和構建工具來說,它們算是低階工具。(順便提一句,唐納德也使用Emacs。)

所以,綜合唐納德和阿姆斯特朗的建議,以及我個人的觀點,有這樣一個方法:

選擇幾個你喜歡使用的工具,好好學習。

或許是這個:

選擇幾個好的工具並好好學習,直到你喜歡上使用它們。

 

原文:John D. Cook  翻譯:伯樂線上 – 李盛暉

相關文章