软件开发和经验主义
2020-12-05 本文已影响0人
Svapna
康德哲学其中一个趣味在于区分了理性主义和经验主义,世界上很多领域的不同派分都有这两者的身影,比如政治上的左右派之分,经济上的自由经济和计划经济之分。
软件工程可以看成经验主义的产物,软件工程并没有构建一个由理性逻辑构成的体系,而是随着实际情况不断调整各种模式。 而软件工程各种开发模式,技术,框架等都在随着时间的变化不断升级调整。这种类似于政治上的保守主义,通过传统的自然而然形成的体系去维持社会整体的平衡,而非使用先验的理性的方式去构建一套逻辑的体系。
Java编程语言的出来,使得企业应用开发和web开发变得越来越简单,带来的后果一是学习门槛的降低,促进了更多人力资源的拥入,降低了人力资源成本。而这种情况,本质是对前辈语言c++的一种部分替补和升级,c++学习难度大,以及团队合作的困难,而Java的出现解决了这个问题,曾一跃成为世界第一编程语言。语言特性的不断替补和升级,是一种自然而然的过程,随着需求的变化而变化。这也不难理解为什么世界不统一一门编程语言,而是要花那么大精力学习各种不同的语言。
设计模式,软件开发模式等也是这样的原理。因此不断学习新框架,新技术,也是软件工程不可避免的结果。
经验主义的优势在于适应性强,如水一样能适应各种不同的环境。世界观决定方法论,认识到了软件工程的经验主义本质,那么就可以有正确的方法论,像水应对软件工程的变化。