自:本科专业“软件工程”和“计算机科学与技术”的区别是什么? - 周筠的回答 -
知乎/question/24292554/answer/38486618
①计算机科学中理论研究部分大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关,计算机科学中与实践相关的部分,
都和数据以及其他科学发生关系。软件工程则和人的行为有关,软件工程的研究目标(软件的开发与维护)等都与人有关,
可能是项目的使用者,也可能是开发者,这是与计算机科学中很不相同的一部分。
②在任何科学领域都有偏理论和偏实践的部分,当偏应用的部分得到长足的发展时,就会被大家更多地熟知。
③计算机中的理论发展,比如对程序的正确性分析,会帮助软件工程,反过来,软件工程的发展能够帮助计算机去做更多的探索。
计算机科学 | 软件工程 |
发现和研究长期的客观真理 | 短期的实际结果(具体的软件会过时) |
理想化的 | 对各种因素的折衷 |
确定性、完美、通用性 | 对不确定和风险的管理、足够好、具体的应用 |
各个学科独立深入研究,做出成果 | 关注和应用各个学科的知识,解决问题 |
理论的统一 | 百花齐放的实践方法 |
强调原则性 | 最好的、成熟的实践方法 |
形式化、追求简明的公式 | 在实践中建立起来的灵感和直觉 |
正确性 | 可靠性 |