像程序员一样看待(LambdaConf 2024) — 符号多义性,作者 Chris Krycho

主要观点:探讨如何做出“好软件”,包括软件自身工作良好及作为现实事物的良好两方面,涉及工程、现代性、谦逊等主题,强调软件是 artifact 和 system 的结合,要注重制作好的软件制品(如领域驱动设计、使非法状态不可表示、证明、形式建模、测试等)和软件系统(如“让它崩溃”“处理崩溃良好”“理解系统行为”等),编程是理论构建,包含隐性的知识和判断(mētis),要警惕高现代主义对 legibility 的过度追求及其危害,软件从业者应保持谦逊,拒绝构建不良软件,以构建服务用户的好软件为目标,这虽难但值得追求。
关键信息:

  • 介绍在 LambdaConf 2024 的两场演讲,此为第二场,探讨使软件更好及做出更好软件的方法。
  • 阐述软件是 artifact 和 system,分别举例说明其含义及相互关系。
  • 详细介绍制作好的软件制品的各种方法和技巧。
  • 论述构建好的软件系统的要点,如应对崩溃等情况。
  • 引出编程是理论构建,包含隐性知识和判断(mētis),以及 legibility 的两面性和高现代主义的危害。
  • 强调软件从业者应保持谦逊,拒绝不良构建,以构建服务用户的好软件为目标,并指出这虽难但值得追求。
    重要细节:
  • 引用多位学者的观点和例子,如 Peter Naur、Donella Meadows、James C. Scott 等。
  • 以具体代码示例说明使非法状态不可表示等概念。
  • 讲述在 LinkedIn 的工作经历,如内存泄漏等案例。
  • 提及各种软件开发相关的实践和工具,如测试、形式建模等。
阅读 28
0 条评论