《论语·卫灵公篇第十五 15.31》 子曰:「吾尝终日不食,终夜不寝,以思。无益,不如学也。」

由于网上资源丰富,编程已由以往系统学习后的“默写”变成了围绕 Google 搜索引擎的抄写。即,根据关键词定位到几个不错的网站,如 StackExchange、 CPP Reference,或者是技术博客。然后,我们根据初学者教程与范例,对其做一些定制化修改,就可以很快地将相关代码应用到自己的项目中了。

倘若只是用来解决眼前的具体问题,教程与范例大多数时候尚且够用。但要想设计、构建出底层框架,编写供他人调用的通用算法库,这种基于搜索、模仿、试错(trial and error)的拿来主义编程就无能为力了。因为它既无法帮助我们形成对问题本质的理解,也难以让我们将新技术吃透并内化为自身的功力。这样的做事方式,看似快,实则慢,而且极大地降低了技术水平能够达到的上限。以这种方式长期从事开发工作,虽然也能积累出不少“实用”的经验、秘籍、感悟,但它们大都不过是书中已有结论的简化版而已,朴素且零碎。

所以,持续提升编程能力的最好方式之一应该是先虚心、细致、系统地学习,再动手实践。