Reversing Abstractions: An Existential Crisis
5 hours ago
- 作者批评了计算机科学中主流的“前进/存在主义”方法,该方法隐藏实现细节,并倡导“回溯/通用”方法,使细节可访问。
- 选择不隐藏的例子包括ABI(公共约定)和DWARF调试器(元级描述),其中调试器代表一种通用方法,可以从任何具体实现中恢复抽象视图。
- 对回溯/通用方法的忽视导致了软件脆弱性,与生物适应性形成对比,而编程语言研究尤其抵制这一方向。
- 链接时优化(LTO)目前延迟了降级而非提升;作者提议利用调试信息将目标代码提升回中间表示,以获得更好的灵活性。
- 网络的沙漏设计(IP)是支持多样性的通用方法的典范,与存在主义统一性不同,作者呼吁在语言实现中采用类似思维。
- 作者认为,软件性能现在受限于社会和文化因素,而非机器性能,因此不应过度强调对通用方法开销的担忧。