On The Need For Understanding
2 months ago
- #programming
- #complexity
- #understanding
- 安迪·温戈反思杰拉尔德·萨斯曼的观点:现代程序员常被迫将库视为黑箱,需进行'基础科研'才能理解其机理。
- 萨斯曼指出编程方式从1980年代的转变——工程师用精确定义的小部件构建系统,到1990年代后开发者不得不与复杂晦涩的库文档搏斗。
- 作者分享1990年代个人经历,描述在技术快速迭代中,面对编程工具和平台压倒性复杂度时的挣扎。
- 早期编程追求表面功能而忽视深层理解,导致产生诸如游戏音乐处理工具'Easymik'这类临时解决方案。
- 接触QNX系统成为转折点,其清晰优雅的设计理念与MS-DOS/Windows的复杂性形成鲜明对比。
- 作者在创建过度通用化解决方案的失败尝试中,印证了未彻底理解问题就仓促编码的弊端。
- 关键顿悟在于:掌握底层系统原理能催生更高效、自信的编程实践。
- 相比1990年代闭源软件的不可捉摸,现代编程受益于开源库和优质文档,系统调试和理解更为便利。
- 作者主张深入依赖项的源代码,这种彻底理解的方式能打造更可靠、可维护的软件。