三种软件复杂性概念的比较

2025-06-15

本文比较了Rich Hickey、John Ousterhout和Zach Tellman对软件复杂性的三种不同定义。Hickey认为简单性是单一性,即“一折、一角色、一项任务、一个概念、一维”,并强调客观性;Ousterhout认为复杂性是使软件难以理解和修改的任何与软件系统结构相关的事物,并强调依赖性和模糊性;Tellman认为复杂性是所有解释的总和,并强调解释对目标受众的依赖性。文章比较了这三种定义的优缺点,并讨论了它们在解决实际问题中的应用,最终认为Tellman的解释方法更佳,因为它更能捕捉到软件开发中主观经验,并能更好地指导实际决策。

阅读更多

系统编程语言的错误模型:一篇史诗般的论文

2025-03-08

这篇长达15000多字的博文深入探讨了系统编程语言的错误模型。作者从产品、类型系统和语言设计等多个角度,分析了错误表示、传播和处理的各种方法,并提出了一个名为“Everr”的假设性语言及其错误模型,以期在优雅降级、性能优化和库间互操作性之间取得平衡。文章还对多种编程语言的错误模型进行了比较,并探讨了程序员对错误的认知和处理方法。

阅读更多
开发

我们的优化器需要反思

2024-10-28

文章指出,现有的优化器存在一些问题,例如优化结果难以预测、调试困难、控制能力有限等。作者认为,优化器应该提供更透明的信息、更强的控制能力以及更完善的测试工具,以便开发者能够更好地理解、调试和控制优化过程。文章还建议优化器应该能够接受开发者的指导,并在无法遵循指导时发出警告或错误信息。

阅读更多
未分类