学习编程是偿还债务,而不是投资
Source: Dev.to
现在是2025年末。
已经过去两年多,我通过互联网自学编程,和往年一样,我仍然觉得自己没有真正取得进步。
为什么会有这种感觉?
我认为答案很简单:很长一段时间里,我没有明确的不安——也没有对自己想用编程做什么的具体理由。
所以我想追溯到根源。
存在的理由
当我还是个孩子的时候,我经历过一种接近存在焦虑的感受。我常常思考自己的存在——我为何在这里,世界是如何运作的。后来有一天,我的父母给了我一台游戏机。我把游戏视为微型世界,我被震撼了。
在我眼中,游戏创作者拥有如同神一般的控制权。他们定义规则、物理、奖励和后果。一个完整的世界由此从意图中诞生。
多年后,在初中时,我第一次接触到电脑。我现在已经 37 岁,仍记得那种感觉:插入软盘,输入指令,突然获得对某种强大事物的访问权。我再次被震撼。
不知为何,我觉得游戏和电脑之间有某种联系。至少它们共享同一个屏幕——但直觉上,我感受到更深层的东西。从那一刻起,我想要像理解世界一样去理解电脑。
到了高中结束时,这种渴望并没有消退。当时,计算机科学是一个极受追捧的专业,许多父母都希望孩子学习它。但上大学需要钱。我是家里第一个孩子,父母仍在为生计挣扎。三年里我努力攒够学费,三年里我失败了。最终,我放弃了。编程的想法慢慢从我的生活中滑走。
当我们年轻、冲动且囊中羞涩时,为了生存往往会忘记最深的好奇心。
Déjà vu
多年以后,随机一个视频出现在我的 YouTube 推送中:成为网页开发者的路线图。我观看了它,我再次被震撼。
我意识到根本性的变化。获取信息的门槛已经打开。任何人都可以学习——无需正规教育,无需许可。然而,代价是方向。你可以学习任何东西,但可能不知道为什么。
我充满热情地投入进去:HTML、CSS,然后是 JavaScript。起初,一切都让人兴奋,但 HTML 和 CSS 很快让我感到乏味,JavaScript 则像一个无尽的迷宫。
日子变成了月份,月份变成了年份。我不断学习,却觉得结果毫无意义。不是因为我什么都没学——而是因为我觉得自己停在了原地。我陷入了教程地狱,在语言和角色之间跳来跳去,看到同一时间开始的其他人进展更快、构建更多、取得更多。直到很久以后,我才意识到真正的问题。
文艺复兴
我在没有方向的情况下学习,更重要的是,我是出于错误的动机在学习。我的动机从来不是 构建产品。我想了解计算机内部的运作——一个看似毫无生气的东西如何展现出如神一般的力量。我想要的是知识,而不是产出。
这时 债务 的概念对我变得清晰。
对我而言,学习编程并不是为了未来回报的投资,而是对过去债务的偿还——这笔债务源于我想学习计算机却无法实现的那段时间。无论这段旅程是否会导向一份工作,都只是次要的。重要的是债务已经还清:我终于 了解 计算机。
如果出现就业,那只是副作用。现在,我希望我的道路更具功能性——所以我有意忽略副作用。
在 2026 年,我将重新开始——不是从零,而是以纠正后的方向。我会把好奇心当作我的货币,而不是投资组合,也不是市场需求。
课程安排
我挑选了一套感觉诚实且扎实的课程:
- TeachYourselfCS
- 从 OSSU 中精选的内容(完整的 OSSU 对我来说太沉重)
- How to Design Programs
- Concepts, Techniques, and Models of Computer Programming
有句俗话说:人的人生在 40 岁才开始。所以我的期限是两年。等我到 40 岁时,我希望已经完成这段旅程。即使没有把所有内容都学完,完成 HtDP、SICP、CS:APP 和 CTMCP 已经足够构成基础。单单 CS:APP 可能就足以让人理解一台铁盒子是如何变成一个 世界 的。其他书则探讨更深层次的东西——如何思考,而不仅仅是如何构建。
人们常说编程是为了创造东西,而不是为了学习。这句话是对的——非常对。但对我而言,优先级不同。我想先理解再去创造。我暂时对 扮演上帝 并不感兴趣。
这也是为什么写文章对我来说比打造作品集更有意义。文章可以外化理解。它们迫使思路清晰。它们把模糊的直觉转化为明确的思想。写作是我向自己证明债务正在被偿还的方式。
这篇文章标志着我两年旅程的开始。如果在途中有值得分享的东西——我真正 理解 的东西,我会再写。
新年快乐 🎉