我想知道的那些事儿
文中有一段很有意思:
软件工程与计算机科学的差别
软件工程 | 计算机科学 | |
---|---|---|
目标 | 在时间、资源、人员这3个主要限制条件下构建满足用户需求的软件系统。 | 探索正确的计算和建模方法,从而改进计算方法本身。 |
产品 | 软件(比如办公包和编译器)。 | 算法(比如希尔排序法)和抽象的问题(比如哲学家进餐问题)。 |
进度与时间表 | 软件项目都有特定的进度与时间表 | 研究项目一般不具有设置的进度与时间表 |
关注点 | 软件工程关注如何为用户实现价值。 | 软件理论关注的是软件本身运行的原理,比如时间复杂度,空间复杂度,和算法的正确性。 |
变化程度 | 随着技术和用户需求的不断变化,软件开发人员必须时刻调整自己的开发以适应当前的需求。同时软件工程本身也处于不断的发展中。 | 对于某一种特定问题的正确解决方法将永远不会改变。 |
需要的其他知识 | 相关领域的知识。 | 数学。 |
著名的探索者和教育家 | Barry Boehm,David Parnas,佛瑞德·布鲁克斯。 | Edsger Dijkstra,高德纳,Robert Tarjan,Peter Slater,艾伦·图灵,姚期智。 |
著名的实践者 | John Backus,Dan Bricklin,蒂姆·伯纳斯-李,林纳斯·托瓦兹,理查德·马修·斯托曼。 | 无。 |
网友评论