12334556

对计算机系统,可以用 12334556 来描述。

12334556

1 个完整的计算机系统有硬件和软件 2 部分组成,它们被划分在 6 个不同的层次。

硬件子系统由 5 个功能部件组成,要通过 3 类总线连接在一起,涉及 5 项性能指标。

软件子系统有 3 个级别的语言。可按照 flynn 分类标准划分计算机为 4 种不同的结构。

下面简要谈谈上面出现过的重要概念:操作系统、程序设计,以及对大学计算机科学教育的看法。

操作系统

操作系统于软件工程师之重要性

就像任何代码都运行在 CPU 上一样,几乎任何软件也都是依赖操作系统的,软件开发工程师对操作系统的深入理解,几乎是成为一个高手必须具备的能力。

另外,学习操作系统的编写,也是提升能力的一个很有效的方法。

除了很底层的几个编程语言外,几乎所有的编程语言都是为特定领域发明的,学习一个领域的新语言,实际是学习了一个新的思维方式,可以帮助工程师从各个不同的角度思考问题。

所以我个人觉得多花一点时间去多了解一门编程语言是很值得的。

编程语言和操作系统

任何编程语言都是一种工具,学习语言的目是要使用它来编写出实际需要的软件来。

而软件作为一个用户程序,运行时要依赖操作系统,大多数人使用什么操作系统,我们就要编写出基于哪一种平台上的程序来。

这样,软件才会有更大的市场。

程序设计过程

① 需求分析

② 算法设计:数学建模、程序结构设计

③ 程序编写

④ 程序调试

①② 对大规模程序设计更重要;

③④ 对小规模程序设计更重要。

面向对象、面向过程、函数式编程

如果说结构化软件设计是将函数式编程技术应用到命令式语言中进行程序设计,面向对象编程不过是将函数式模型应用到命令式程序中的另一途径,此时,模块进步为对象,过程龟缩到class的成员方法中。

OOP的很多技术——抽象数据类型、信息隐藏、接口与实现分离、对象生成功能、消息传递机制等等,很多东西就是结构化软件设计所拥有的、或者在其他编程语言中单独出现。但只有在面向对象语言中,他们才共同出现,以一种独特的合作方式互相协作、互相补充。

其他:关于大学计算机教育

很多大学的计算机教育的核心就是编程,以教授 C++,Java 这些高级语言为主。

但是,高级语言掩盖了太多的细节。虽然它确实有利于你快速编写出可用的软件、提高生产力,但在学习阶段,却不利于基础知识的累积。

本文最后修改时间: 2015年09月28日 20:01:44 (完) CC BY-NC-ND 3.0

若您发现文章中的错误,并愿告知于我,或想与我交流,我的联系方式在: Contacts


上一篇 安装 CentOS

All The Best

下一篇 Youth Like Program