更好的学习编程的方法是远离它

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

作者在连续高强度编写C程序后体会到,编程虽有趣,但急于上机调试往往浪费时间。更好的学习方式是先离开电脑,用纸笔理清思路再编程。Knuth等前辈的经验表明,机器资源稀缺反而能逼人把程序想透。建议先设计结构与接口,再实现细节,并培养写作、阅读、武术、冥想等电脑之外的素养。

🔎

延伸解读

先想清楚再动手:纸笔的价值

作者在连续高强度编写C程序后体会到,急于上机调试往往浪费时间,因为错误可能源于最初思路。用纸笔理清思路再编程,能避免反复调试。Knuth等前辈的经验表明,机器资源稀缺反而能逼人把程序想透。因此,建议先设计结构与接口,再实现细节,这比依赖编译器警告更有效。

时代变了,但核心方法未过时

如今电脑和网络随处可用,编程门槛降低,但作者认为,对于抽象能力不强的大多数人,先离开电脑思考仍然值得。虽然有些人能一次写出无错代码,但作者以自身失败经历说明,多数人需要纸笔辅助。经典教材如Sedgewick的《Algorithms》也采用自顶向下方法,先设计再实现。

编程之外的素养同样重要

作者引用Eric S. Raymond的观点,指出培养电脑之外的素养有助于编程。例如,学习写作、阅读科幻、练习武术或冥想,都能锻炼心智纪律和放松的专注力。这些活动并非编程的替代,但许多黑客认为它们与编程精髓相通。因此,平衡生活与编程,反而能提升编程能力。

❓

Q&A

为什么说更好的学习编程的方法是远离它?

因为急于上机调试往往浪费时间,先离开电脑用纸笔理清思路再编程,能更高效地解决问题。

Knuth 在编程竞赛中获胜的故事说明了什么?

说明机器资源稀缺反而能逼人把程序想透,从而写出更正确的程序。

在编程之前应该先做什么?

先设计结构和接口,再实现细节,并用纸笔理清思路。

除了编程,还有哪些活动有助于提升编程能力?

培养写作、阅读科幻、武术、冥想、音乐等电脑之外的素养。

为什么现在学习编程仍然值得先远离电脑?

因为大多数人无法一次写出无错程序,先思考再编程能避免反复调试。

什么是自上而下的编程方法?

先设计结构和接口,再实现细节的编程方式。

🏷️

标签

➡️

继续阅读