计算机领域的两条道路——抽象与底层
计算机领域的两条道路——抽象与底层
整个计算机领域实际上只有两条路子可走,一条向抽象,一条向底层。
整个计算机领域实际上只有两条路子可走,一条向抽象,一条向底层。无论是编码还是理论研究,甚至是运维,都是如此。
只不过,大多数时候,我们需要在这两条路上都走一点。虽然它们向两个方向延申,但并非不能同时走。恰恰相反,我们应该同时走这两条路子。
当我们向抽象时,我们思考如何使用更干净整洁的方式编写代码,如何使用模块化的方式组织项目,如何从架构上考虑业务,如何用更组合式与可证明的方式处理逻辑,甚至如何处理人员管理方式,如何处理大规模集群的容错性问题。
当我们向底层时,我们思考如何在极小的内存中压缩机器码,思考如何通过引入更多人工介入来处理超高并发中的数据库读写瓶颈,思考如何创建一个尽可能小的数据结构在一个极端简陋的环境中尽可能快地工作,思考如何让已经足够快的算法在常数时间复杂度上再快一点。
但是,这两者是不冲突的。即使当我们编写嵌入式的代码,都到了需要靠将i++编写成++i以榨取一点点性能的时候,其实我们也需要思考如何在这样的情况下尽可能保持代码整洁与可维护。并且,即使当我们在再底层的位置工作,其实我们也已经位于一层抽象上之上了——至少当我们写代码的时候,我们已经在享受将纯粹的电子元件抽象为可执行的机器码这层便利了。
计算机领域的两条道路——抽象与底层
https://snowfly-t.github.io/2023/04/22/计算机领域的两条道路——抽象与底层/