哲学是一种思维方式,决定了我们如何理解自己、世界或正确的事情。就像程序一样,哲学由一组决定我们如何处理事件的前提和原则组成。无论我们是否意识到这一点,我们所做的一切都有一种理念在驱动——从我们尊重历史的方式到我们开发软件的方式。
今天我们将讨论影响软件开发的三种哲学,无论大小。
我们将涵盖:

在我们讨论之前,我想谈谈哲学对计算机科学最明显和最重要的贡献之一。也就是说,我们最早的数据二进制表示来自一个叫做逻辑的哲学分支。具体来说,布尔逻辑提供了一个框架,通过它我们可以用二进制数字(0 和 1)表示数据。这些二进制数字在计算机科学中称为位。位是我们最小的数据单位,是我们将无生命的硬件激活为功能机器的构建块。
布尔逻辑由 George Boole 在 1850 年代开发。布尔是一位数学家和哲学家,他的研究建立在他前辈的发现之上。由于量子物理学的发现,物理上实现这些位的硬件要晚得多。尽管如此,布尔逻辑仍然是一项突破,它通常被认为是将我们带入了信息时代。
影响软件开发的 3 种哲学极简主义从整理到软件开发,极简主义对我们生活的许多领域产生了广泛的影响。虽然“极简主义”这个词最初是用来描述二战后的西方艺术运动,但这个词发现自己适用于各种情况,在这些情况下,少花钱多办事是有好处的。
通常,极简主义哲学重视:
简单公用事业去掉不必要的极简主义在 1970 年代进入软件开发领域。在编程的早期,开发人员致力于在有限的硬件资源和预算的限制下优化程序。虽然从那时起我们的硬件能力和预算肯定有所增长,但极简主义仍然影响着软件设计和开发。
我们看到极简主义对许多社区和技术的影响,包括:
Unix : Unix 操作系统对应的Unix 理念是极简主义。它的原则之一是“模块化规则:编写由干净的接口连接的简单部件。”Python:Python 是一种重视极简主义和简单性的语言。Python 有自己的哲学,称为 Python 之禅,其中一个原则是“简单胜于复杂”软件开发中的极简主义提倡:
用更少的代码做更多的事情最小化所需资源采用模块化方法,其中每个模块都高度集中开源理念开源软件是将其源代码提供给公众的软件。我们将今天丰富的开源软件归功于开源哲学和 1990 年代的开源软件运动。
开源理念与黑客道德密切相关。事实上,许多开源活动家都是黑客(在这种情况下这个词具有积极的含义)。与黑客伦理一样,开源哲学认为软件和信息应该免费提供给任何希望使用或改进它的人。
开源哲学提倡:
共享源代码开放合作,观点多样免费交换信息开源软件运动是对个人计算机 (PC) 出现后软件私有化和商业化程度提高的回应。这种私有化与早期的编程形成鲜明对比,当时研究人员和程序员公开合作,软件在公共领域共享。开源理念提倡将源代码带回人们手中。
我们现在享有丰富的开源技术,包括:
阿帕奇网络服务器操作系统GIMP库伯内斯改善理念Kaizen 是一种影响了无数行业的日本商业哲学。Kaizen 一词大致翻译为“变得更好”或“持续改进”。Kaizen 最初由日本企业在二战后实施。它在 1980 年代在美国开始流行。
Kaizen 提倡:
流程和活动中的小的、渐进的改进消除浪费让所有员工对小的改进拥有所有权Kaizen 的增量方法为包括精益开发在内的敏捷开发方法论奠定了基础。敏捷方法论都关注持续改进,并且被当今的软件开发团队广泛使用。
总结和后续步骤程序与哲学并没有太大的不同。它们都告知我们如何穿越世界——在程序的情况下,以数据的形式穿越世界。作为一名程序员,你开发软件的方式可以反映你的价值观、你的目的和你的信仰。