2025-02-14    2025-02-14    562 字  2 分钟

源自知乎问答 那些编程水平很高的程序员是怎么训练出来的?

![[assets/Pasted image 20250214121141.png|250]]

Write lots of code. Clone existing things as exercises. Learn deeply. Alternate trying yourself and reading literature. Be obsessive.

– John Carmack(约翰.卡马克)

编写大量代码。通过克隆现有项目作为练习。深入学习。在自己尝试和阅读文献之间交替进行。保持痴迷。

AI 技术向润色版

以大量编码为核心训练方式。通过复刻成熟项目理解架构逻辑,在反复拆解与重构中完成深度学习。实践与文献交叉验证,保持对技术本质的持续专注。
– 约翰·卡马克(John Carmack,id Software 联合创始人,《毁灭战士》引擎开发者)

![[assets/Pasted image 20250214121247.png|250]] ![[assets/Pasted image 20250214121316.png|243]]

Most of my programming career has involved finding something neat(简洁的), writing my own version to understand it & often throwing it away.

I program those “clones” like I read papers: change a core part; redesign it. Gain progress or understanding why it is what it is.

– Edward Kmett(爱德华.克梅特)

我的编程生涯大部分时间都在做这样的事情:发现一些有趣的东西,编写自己的版本来理解它,然后将它丢弃。

我编写这些“克隆”项目的方式就像阅读论文一样:改变核心部分;重新设计它。取得进展,或者理解它为什么是现在这个样子。

AI 技术向润色版

我的编程方法论始终遵循:发现优秀范式 → 自行实现代码以透彻理解 → 选择性重构或废弃。

这种仿写过程如同学术研究:通过修改核心模块验证假设,重构系统设计探索可能性。最终实现认知跃迁,或逆向推导出原始设计的必然性。

– 爱德华·克梅特(Edward Kmett,Haskell 委员会成员,透镜库 lens 作者)