1.1 创造性和动机

来源:互联网 发布:小米平板2安装windows 编辑:程序博客网 时间:2024/04/30 09:50

1.1 创造性和动机

由于本书不是针对专业编程人员,因为专业的编程人员所做的工作都需要考虑经济性。为其它用户创建有用的、简洁的和聪明的软件是一件非常有创建性的工作。你的PCPDA通常都安装有很多专业人员为你开发的应用程序,每个软件都会引起你的注意和兴趣。他们尽量让这些软件满足你的需求,并且让你体验得更好。在某些程序情况下,当你提出一些需求时,专业开发人员需要你给他们报酬才会给你开发你所需要的软件功能。

当我们使用PDA时,专业人员开发好的软件都排列在界面上,只要选择它就可以执行。但如果有什么特别需求时,就需要另外购买了。

对于我们这些非专业编程人员来说,我们的基本编程动机不是赚钱,也不是为了别人使用这个软件的体验好,而为了处理我们生活和工作上处理数据信息更加有创造性。当你开始时,你就将扮演着程序员和终端用户的角色。同样由于你学会这种编程能力时,你的创造性就会发挥出来了,同时你也可以把这些想法变成软件为别人服务。

 

1.2 计算机硬件架构

在我们开始学习计算机编程语言之前,先来了解一下计算机的硬件架构是怎么样组成的。如果你曾经拆开你的计算机或者智能手机,大体功能布局如下:

 

功能架构图主要由以下部分组成:

l 中央处理器(CPU):中央处理器就是用来执行“下一步做什么?”如果你的CPU运行在3.0GHz,就意味着你的CPU在每秒钟问30亿次“下一步做什么?”因此,你必须跟得上CPU的问你的节奏,以便它问你时,你就立即告诉它怎么做。

l 主内存:内存主要用来存储CPU需要知道的信息。内存的速度必须跟得上CPU,否则CPU就会慢下来。不过内存里的信息会随着断电而消失。

l 次要储存:它也是用来保存信息,但它的速度相对主内存来说是非常慢的,不过它有一个优点,就是当断电之后所有保存的信息是不会丢失的。次要储存主要有硬盘、固态硬盘(最开始使用在USB盘、MP3)。

l 输入输出设备:这类设备主要有显示器、键盘、鼠标、麦克风、音箱、触摸板等等。所有这些设备都是用来与计算机进行交互的设备。

l 在现代的日子里,绝大多数计算机都有网卡,以便从网络上获取信息。我们可以认为网络就是一个速度比较慢的存储外设,并且可以掉线的存储外设。其实,把网络当作一个速度非常慢和不太可靠的硬盘就可以了。

当然,怎么样把这些部件做到最好,以及把它们联系起来做到最好,这些就不用去学习了,留给那些计算机设计人员去研究了,我们主要学习这些部件的专有名词,以便在我们在编程里可以知道编写的代码正在使用那一部分的计算机功能。

作为一个程序员,主要的工作就是合理使用这些功能部件,以及协调这些部件来解决你需要解决的问题,或者从解决方案里所需要分析的数据。因此,程序员主要的工作,就是与CPU进行对话,告诉它下一步做什么。有时,还需要告诉CPU那些地使用主内存,那些地方使用次要储存,什么时候使用网络,或者输入输出设备。

 

 

当你需要成为回答CPU下一步做什么的人时,就是作为一个程序员了,但是非常不幸,你不可能每秒钟回答CPU30亿次,意思就是说你不可能每秒钟打击键盘30亿次,也不可能说话30亿次,那么怎么样做呢?因此你需要在让CPU工作之前,提前把所有让CPU做事情的指令先写好。我们把这些提前写好的指令保存的文件叫做程序,而写这些指令和保证这些指令正确地执行的过程就叫做编程。

 



蔡军生  QQ:9073204  深圳

1 0
原创粉丝点击