您的位置:首页 > 其它

有限的思维vs庞大的世界 (一个凡人如何成为宙斯)

2007-10-10 21:44 316 查看
一.万事万物皆抽象

1. 人的智力是有限的,世界是越来越复杂的,人之所以能够用有限的智力建设并操控越来越复杂的世界靠的是层层抽象。

2. 原理:(建造大楼为例)
a. 最原始的状态:人的所有精力都放在研究制造砖头上,此时没有也不可能顾及如何造大楼(因为人的智力是有限的)。
b. 砖头造出来后,人就不再考虑砖头,把砖头当作原料进行更高一层的抽象,开始把所有精力放在用砖头造墙上。
c. 墙造出来后,人就不再考虑墙,把墙当作原料进行更高一层的抽象,开始把所有精力放在用墙造房间上。
………………
最后造成大楼。

计算机科学,层的概念特别突出(与其自身复杂性有关),例如:汇编层、高级语言层…,操作系统层、网络层…,每一层都有自己关心的问题、对象及处理方法,并对低一层的结论成果等直接拿来用,而不考虑其构成(那是低一层次要做的事)。面向过程编程中的自上而下层层分解的方法,也属于此范围。

每一个单独的层面如果仍十分巨大的话,还可以按逻辑功能把这一层分成一个个独立的模块,使思维规模进一步缩小。比如在操作系统层面,可以分成:引导模块、中断模块、进程处理模块。。。

不按照每一层面每一模块上特定的规则处理问题,企图越过层面和模块办事,必然会引起混乱。

进一步说明:在做操作系统时,主要考虑的是机器的组成,工作方式,指令集,在操作时也主要使用汇编和c这样的底层、细微的工具。高层面的概念不用考虑。
而在操作系统的基础上做应用开发时,主要考虑的是系统提供的功能调用,问题对象的描述等。使用的工具也是更高级的,如object pascal,c++,basic,python等等。低层次的概念如寄存器、内存地址等概念不需要考虑(不一个层级,属于低层)。
问题的粒度不同,使用的知识与工具也不相同。
不可纠缠于细节,应该在一个层次上熟练以后,向更高级的层面延伸。如在汇编层面掌握以后,应该用汇编的知识开发操作系统和高级语言编译器(如c),然后向操作系统和高级语言层迈进,在这个层面熟练以后,应该开发组件和解释型语言,然后向这个层面进军。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: