namelosw
2021-07-01 16:02:54 +08:00
很多人的层次还谈不上思考「纯粹程序员」的问题,思考的更多是吃饭,所以。
我个人理解的「纯粹程序员」就是跳出已有框架,更多思考计算本质的人。
其实「纯粹程序员」一直存在,在计算机出现之前就已经有了,比如早期的 Haskell Curry, Alonzo Church, Alan Turing,或者后来的 John McCarthy, Alan Kay, Tony Hoare 等等。写业务的程序员固然重要,但是一个业务程序员消失了就会有人做他的工作,一个公司消失了就会有其他公司填补它的市场。但是这些推动业界发展的关键人物没存在过,我们现在可能还没有电脑 / 写二进制 / 写 Fortran 等等。
当然也不用非得只思考本质不干活,很多大佬也是工业界出来的,比如 Joe Armstrong 在爱立信搞的 Erlang 其实是在不知道 Actor 的情况下独立实现了它。
我感觉 SICP 里面的比喻很恰到好处:我们现在看待计算机就跟古埃及人看待几何一样 — 那个时代大部分和几何相关的工作者更关注的是怎么用标尺,量角器这些「工具」,而我们回头看那个时代的时候根本不会关心这些工具,而是会认为他们发现背后的几何原理拥有重大意义。那么以同样的方式思考,远未来的人回头看 20 ~ 21 世纪的计算机科学 / 编程,更关注的显然不是 M1 或者 Rust,而是更本质的「计算」本身。
如果只是想找一些更纯粹的问题思考的话,看源码不如做一做 Nand to Tetris 这种项目,走马观花地做一遍下来你就会有很多好奇的方向,和你比较感兴趣的抽象层,和很多「为什么不」「如果这样的话」之类的问题可以深入。