计算机科学技术和计算机科学的区别

2025-04-25 08:18:22
推荐回答(1个)
回答1:

Computer Engineering一般指的是计算机硬件的开发,从下往上看,包括但不限于底层的IC design (一般是RTL level的HDL Design), microarchitecture & ISA design(用HDL做RTL design,用C/C++做ISS), Memory / Cache architecture design,以及中间层的Embedded system / System on Chip design(使用C/C++/SystemC/SpecC),Heterogeneous computing一类,能接触到的最高层差不多在OS & Compiler这个level,比如在Compiler层面做一些与硬件协同的优化(例如VLIW的实现)。
作为隔壁专业,Computer Sciense一般指的是计算机软件的开发以及计算理论的研究,从上到下来看,CS覆盖面包括从各种抽象的model到上层的软件设计(web开发,移动端开发,通常多使用各类高级脚本语言),到应用层软件开发(Java或C++,MS系的多用C#),到各种框架的构建和实现(偏底层,多用C++,需要考虑到OS的接口,自己实现的话相当于重造轮子,reinventing the wheel),再到OS和Compiler的研究,这里与Computer Engineering的研究存在很大的交集,但一般来说CS更侧重于软件level的优化(个人理解,比如对动态调度任务算法的研究)。
其实严格来说,不存在非常精确的对CE和CS的分割。单从字面意义上看,CS的大多数人在做的实际上是Software Engineering的工作,而不是Science。