计算机科学浅谈-MYYMWG(1)

引言

《程序设计与算法》是北京大学信息与计算机科学学院的老师们的一门公开课,该课程清楚的阐述了计算机理论与实现两个方向的发展,我结合在计算机学习中获得的一些认识和从该课程获得的启发,从图灵机、冯诺依曼体系与EDVAC的基本认识出发,讨论以下问题:

(1)可编程思想的发端与实现。

(2)程序运行在物理实现的电路细节。

(3)计算机的一个完全运行生命周期图景。

开始问题的讨论前,还需要对一些重要概念有一些了解,这会使我们的讨论更容易进行。事实上,实际应用与技术交流时默认具有基本的专业素养,这个过程通常省略,然而在最初的学习过程中,我们应当更多地讨论底层细节,能否充分理解基本原理及其概念,直接决定我们所能达到的专业高度。

抽象

抽象是计算机与信息技术领域最常用的概念,隐藏具体的实现细节,仅关注其功能与实现条件,这在实际使用时是方便且必要的。各项功能实现有诸多的细节,如果不隐藏下层细节,我们便要关注所有的下层细节,才能了解细节导致的结果(即实现的功能)与实现功能所需的细节条件,在实际工作中,一个具体的细节一般是其下层细节的结果。

这样我们知道,如若从底层细节出发,在有限时间内要理解一个最简单的指令也是不可能的。人们发现,从底层细节理解具体的功能是没有必要的。我们知道某些条件会得出一定的结果,这在应用过程中是方便且可靠的,但如果不清楚特定条件得出的结果,便需要清楚得出结果的实现细节。

事实上,这是解决问题的极好方法,根据这种思想,一个解决方案通常由有限个步骤组成,其中任何一个步骤都可以是另外一些有限步骤的集合。

那么,如果我们清楚某一层步骤的下层步骤的实现细节,在给定下层步骤特定条件后,就可以完全忽视该层步骤的下层细节,这边称之为细节封装。解决方案步骤的某一层细节的下层细节将直接封装到它的上层细节中,即我们仅需要一个输入,并得到一个输出。

这意味着什么?

意味着我们每次只需要关注有限个步骤,便能逐层解决一切可解决的问题!
通常,人们会下意识地使用抽象方法解决一些问题,但建议大家能够主动运用抽象方法去解决问题,这样,我们便能相对容易地理解那些模糊复杂的问题以便更好地解决它。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值