Edsger Wybe Dijkstra是一位荷兰计算机科学家。
他曾因开发编程语言的基本贡献而获得1972年图灵奖,他说过:
“计算机科学不再是计算机,而电算术才是望远镜。”
CS与SE完全不同。(CS!= SE)。
CS是已获得计算机科学知识的科学家。
计算机科学或计算机科学(有时缩写为CS)是对信息和计算的理论基础以及在计算机系统中实现和应用它们的实用技术的研究,通常被描述为对创建,描述,并转换信息。
计算机科学有许多子领域,例如:
- 理论计算机科学
- 计算理论
- 算法和数据结构
- 计算机元素和体系结构
- 多处理
- 计算科学
- 人工智能
- 软件系统
我们中的许多人在日常工作中不需要任何一项技能,或者至少不需要一点。
软件工程师(SE)是一个致力于设计,实施和修改软件的专业,以使其具有更高的质量,更实惠的价格,可维护的功能以及更快的构建速度。它是“通过对软件进行工程设计来对软件进行分析,设计,评估,实施,测试,维护和重新设计的系统方法”
作为一名CS知识,他应该具备在不知道任何真正好的编程语言的情况下管理实际复杂问题的知识。恕我直言,我们可以在这里打开另一个线程,对我而言,学位仅是起点,而不是终点。
作为SE的知识,他应该具备管理这个真正复杂问题的产生并管理与该领域有关的团队或项目的发展的知识。
在SE的帮助下,共同进行由CS在应用科学领域进行的科学研究。
我不是说CS优于SE,而是CS!= SE。
这种问题与非计算机人员问您为什么,作为程序员,您不能通过电话将程序X,Y,Z的问题解决在操作系统J,M, N. ;)
实际上,经过十年在安全领域的Unix系统开发,我真的对编码感到无聊,阅读了这个问题后,我明白了,我需要学习更多的计算机科学,而无需学习更多的计算机语言和计算机系统或协议!
在我的工作中,没有人能处理关于SE和CS的差异!这真是一件坏事。
如果您认为CS可以成为不良编程技能的借口,那么您真的会错过关于CS和SE的知识。
我想你是一个SE,例如,您是否知道所有语言,所有范式和所有与计算机语言相关的东西都可以用一组部分递归函数以数学方式表示,并且无论您学习哪种新语言,任何新语言,您都只是在SAME递归部分函数上学习新的抽象方法?
玩得开心 :)