一步步引出编程要注意的那些事儿

冯诺依曼体系结构

谈到计算机,我觉得得提提冯诺依曼体系结构。何谓冯诺依曼体系机构?冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。因为计算机是基于电子元件制造的,电子元件对电流最简单的识别莫过于有电流通过或无电流通过,所以二进制无疑是最好的计算机对数的表现。程序的顺序执行说明了计算机先取到哪条指令就先执行哪条指令,为程序的正确性提供了有力的保证。

如何给计算机指令以便它能执行?这就是有关输入的问题。最早的计算机是用纸条的方式去输入的,比如,纸条有孔的地方表示0,无孔的地方表示1,计算机读到有孔的地方就产生0的电平,无孔的地方就产生1的电平。当然,指令是按照已指定且能被计算机识别的。

数据结构和算法设计

在现实中世界中,存在着种种事件和物体,我们都想把这些事件和物体的信息都能映射到计算机去,让这些信息都能被计算机识别和处理。这就是数据结构的问题,我们希望能用数据结构去表示任意一个事件或物体。CPU级别的指令系统已经能识别一些简单的数据类型,比如整形,浮点形等等,甚至一些图像的类型。于是,也有人从计算机体系结构出发,说数据结构就是计算机不能暂时不能识别的一些事件和物体的集合。如何把物体映射成数据结构,把事件映射成算法,这就是编程应做的事情之一

多任务多线程的需要

随着计算机的发展,输入设备和运行速度不断提升,这时就要考虑怎样用计算机干更多的事情了。如果把计算机当作是家庭的一个佣工,我们花钱买了他,当然希望把他所有的能力都榨尽了。于是,爷爷希望他给自己捶背,爸爸希望他给自己泡茶,妈妈希望他洗衣服,孩子希望他陪自己玩。假设这些这个佣工都能做,并且被爷爷叫去捶背了,爷爷很贪心,捶了半天还没捶完,爸爸如果自己不泡茶,恐怕都要渴死掉了;而孩子大概等那么久,哭也哭睡了。。。

有人干脆说,这不简单,买多几个佣工吧,但佣工实在太贵。而且我们能这样就放过一个佣工吗?就这样给爷爷捶捶背?这是坚决不允许的。于是,我们给这个佣工分时间段,比如给爷爷捶五分钟背后,再用五分钟给爸爸泡茶,再用五分钟去洗衣服,再五分钟陪孩子玩。。。如此循环下去,则爷爷轻松了,爸爸有茶喝,妈妈完成任务,孩子又玩得开心。

这就是多任务情况下计算机的进程管理机制了。当然,出于进程的创建消除开销太大,我们又引进了更轻量级的线程作为CPU的最小调度单位。这些进程啊线程啊都是计算机指令,都得把它们放入内存中,然后再由CPU读取执行。这就是程序的并发执行。并发是程序中的并行处理,多数现代编程语言包含内置的并发能力,在 Java,指的是线程。关于并发,最经典的例子是“生产/消费”模式,生产方生产数据和任务,并放入工作线程消费或执行。并发的复杂性在于,线程需要经常访问共同数据,每个线程都有自己的执行顺序,但需要访问共同数据。所以,我们要知道多线程的编程

计算机语言发展



计算机操作系统的出现

安全访问的要求

数据库的应用

联机的出现

网络的出现

分层的应用

分布式系统的产生

集群的需要

应用缓存的优点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值