享受工具带来的乐趣

我最近正在思考来自唐纳德·克努斯的一段话:

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  翻译:伯乐在线 – 李盛晖

收藏 评论

关于作者:伯乐在线读者

① 本账号用于发布那些在伯乐在线无账号的读者的投稿,包括译文和原创文章。② 欢迎加入伯乐在线专栏作者:http://blog.jobbole.com/99322/ 个人主页 · 我的文章 · 32

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部