- 从硬件角度看
- 从问题角度看
软件就是机器语言,为了人们编写方便,接着又产生汇编语言,面向各种具体问题,产生了多种多样的高级语言。
- 高级语言程序设计
高级语言最终形成可执行的代码,需要进行编译或解释,在这个过程中前人总结了各种技巧,对编译过程进行优化
- 编译原理
可执行文件的执行需要操作系统的调度和管理,这涉及了内存管理、设备管理等等,因此要熟悉操作系统才能编出相应的程序
- 操作系统
针对软件开发过程中遇到的问题,先后提出了结构化的程序设计方法、面向对象的程序设计方法、泛型编程
- 程序设计方法
针对科学计算和大数据分析的需要(当初作者只是为了个人兴趣,现在这主要应用领域),开发了Python语言
- Python
针对希望使用计算机进行公式解析推导,发展了计算机代数,开发多种语言
- 计算机代数
针对高速运算的需要,发展了并行计算
- 并行计算
针对计算机间通信的需求,发展了计算机网络
- 网络编程



