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