第 2 章 软件工程中的逻辑学
破除诡辩的方法是系统的学习逻辑学,比较可惜的是学校教育中系统性的逻辑学课程已经很少见了。另外在软件工程中,很多人也并不重视逻辑学。
大多数有经验的开发者、系统分析师都具备一定的辩证思维和方法,要说谁没有逻辑,这件事情很难说得过去。如果每个人都是用自己的思维方式和 "逻辑",这会这会让沟通过程变得非常困难。我疑惑的是每个人都相信逻辑是很重要的,但几乎没有文章讨论过在软件设计和开发过程中如何使用现代逻辑学,以及解决诡辩的问题。
这里讨论一些能在软件工程中使用的逻辑学基础知识,尤其是概念相关的内容在业务分析、领域建模和架构设计中都可能会被用到。
公认的逻辑学之父是亚里士多德,但我们现在使用的逻辑学基础来源于弗雷格、黑格尔以及莱布尼茨等人的工作。