第31章 麻烦与大麻烦(三)

上一章 目录 下一章
现在韩庶每天的中饭都是在学校的师母们的爱心食堂中解决的,每天的中午的计算机课可是韩庶的特产,不管大人还是孩子,那个时代的人普遍对这样的增加知识尤其是数理化知识的机会是非常珍惜的,早早的学校最大的一间仓库,早被来听课的孩子老师自带的板凳沾满了地方,由于没有统一的管理,来听课的人乱糟糟的聚成一撮一撮数堆,关系相近或是其他原因聚坐在一起的人们乱哄哄的讨论着。
现在韩庶讲课的教室是本来是8连放农用器械的仓库,房间中杵满了大大小小的立柱,房间的面积甚广,还好由于以前是仓库所以房间的高度还是蛮高的,虽然聚了不少人但是还不显得气闷,加之房间两边两排大大的窗子整个房间倒也明亮。房间本来是仓库原先当然没有黑板,所以当中让连队的老木工做了一个三角木架又在三角木架上钉着一块大大的平整木板,用黑漆一漆倒也是一块不错的黑板。听课的人也不分年龄职位,只算先来后到,就这样一帮大人孩子坐着小板凳,基本呈一个半圆围坐在黑版前,仰着头听着韩庶讲课。看这架势倒不像是来学习计算机的,倒像是解放前解放军部队内搞得识字文化补习班。
韩庶以前刚开始讲课的时侯可没这么好的条件,就是在中午或课间在聚合着一起开发字库的孩子们组成的团队自己的教室中随便的讲,学生们也就是随便的听,也没有什么规矩,大家环坐在韩庶的周围,讲课的时候也不禁止他人打断自己的讲解,大家可以随时提问,每次有人提问韩庶就会对问题进行详细的讲解,正因为这样韩庶的课程非常的散乱,经常是讲的题目海阔天空,有时还会偏离计算机方面的内容,根本就没有一个正规的安排好的课程顺序。
由于韩庶的课程最早的目的是为了解决实际问题的解答,所以韩庶的课程内容大都比较注重应用,和实际问题结合的很紧密。而注重实践和自由还有人员可以随意组合就变成了后来以韩庶为核心的团队的主旨风格,后来的企业文化研究者一致认为韩庶的公司也就是后来大名鼎鼎的天朝数字集团的企业文化简直不可思议,这个庞然大物的组织结构比日本人还要日本人,组织严密,上下等级森严。但是这个公司内部的精神却比美国人还要美国人,崇尚自由发挥个人的能力,崇尚想象力,开发研究人员更是将这一精神发挥到了极致。在公司内部的研究部门中人员甚至可以自由组合,没有一个严格的组织界限。甚至后来许多研究硬件的人员与软件开发人员自由组合产生了令人意想不到的奇迹。到了公司的鼎盛时期,这种风格被发挥到了极致,跨领域的结合,跨学科的结合使这个庞然大物的创造力简直令人不敢想象。这种矛盾的结合就像是中华文明中的那许多的矛盾统一的复杂体系一样令文化研究者困惑不解,后来功成名就的韩庶还开着玩笑的说道:“看看我们公司,你就知道了只有想不到没有做不到的真实意义。”
“所谓的程序的最基础意义并不是像有些专家说的那样,‘是数据结构加上算法’所谓程序其实从更核心的意义上说是一种描述方法,用一种特殊的表述方式来描述一种既定的规则或事物,这个规则既可以是真是存在的,也可以是人类随意定义的,这个事物既可以是真实存在的,也可以是想象虚拟的。比如我们可以用程序来定义或描述一种棋类,这个棋既可以是现实存在的象棋,也可以是现实中不存在的某种规则的棋类,再比如可以描述某个现实中存在的苹果也可以描述幻想中才有的仙桃。其实这种描述从本质上说就和我们小学生写得作文和造句没有多大的区别,你只要将这个规则或物体将他拆分开来,那么用什么方法来看待或拆解这个问题呢?……”
韩庶接着上一个话题讲解着计算机的程序的概念,和编程的一系列的思想和实际方法。阐述着自己对编程的理解,对软件分析和编程思想的比较。
穿着一身改小的旧军装,小人儿站在三脚架前简单的黑板前,粉嫩的面庞透着演讲时兴奋的红晕,一双黝黑澄清的大眼睛炯炯的闪着自信的光芒,虽然是随意的站着但也透出了那么一股令人信服的力量。
穿着带补丁的旧军装的小小的人儿和硕大的新黑板形成了一个鲜明的对比,黑板前摆着一张半高的木工长凳,这个长凳当然不是韩庶用来坐的,而是大黑板看上去是在是有些大,韩庶小小的人儿又有点矮,所以每次要写到黑板上半边的时候韩庶就得要先爬上这张木工长凳,一个孩子在黑板前的凳子上爬上爬下,底下一群大人孩子乖乖的坐着,情形看上去有些可笑。
“噗嗤”不知谁忍不住笑出声来。
课堂本来虽然说不上安静,底下也总有人在窃窃私语的讨论着什么,但却完全没有想到,忽然被这种不和谐的声音打断。
教室中的杂燥之声忽然消失无踪,安静的有些诡异,猛然整个教室中的目光全集中在那个笑出声来的小伙身上,正笑得畅快的小年轻,好像忽然感觉到了气氛的怪异,看看前后左右鄙视的目光,小伙的笑声噶然而止,本来显得有些黝黑的面孔一时倒也看不出什么,但那怪异的表情显出主人的尴尬。看到那一道道射向自己饱含着鄙夷的目光小伙一时觉得无地自容。
在小伙羞愧的无地自容掩面而退之后,小小的插曲来的快也去得快,教室中的气氛很快又恢复到小插曲之前的状态。而在长条板凳上的韩庶,好像没有完全没有被这个小插曲影响到自己的思路。依然不慌不忙的在黑板上画着图形,这个图形显然像是一棵倒着生长的树,有一个树根,然后由树根伸出若干个树枝状分叉,一些分叉上也又再次分别伸出若干个分叉,如此的4个层次,大概是因为人小力弱画出来的线条总显得有些歪歪斜斜,每个线条枝杈的上面写着一些个名词。

“怎么描述这些问题或事物呢?这就是学习计算机编程要重点考虑的问题了。早期人们为了描述问题,总是将一个问题进行抽象,将这个问题分成数据和数据之间的静态关系还有数据之间动态关系还有描述这种关系的计算方法。比如一个砖头,我们怎么精确的描述一个砖头呢?显然砖头是有大小的,那我们就可以分别用长、宽、高来描述这块砖的大小,那么砖还有重量,那么我们就可以继续用一个数来表示砖头的重量,重量是一个数就可以表示的,可体积就要三个数来表示,这三个数放在一起才有意义,我们将这种情况就叫数据的静态关系,……那么砖头的体积和重量之间又关系么?肯定是有的,我们将这种关系的描述就叫做算法。这是一个相当简单的例子,可是如果要描述一个相当复杂的问题时,这样的描述就有了问题……所以我们要将一个问题拆解开来,将问题拆解成有内部联系的小块,然后在将这些小块组织起来……”
韩庶用浅显易懂的话来讲着这些枯燥的东西。
“老师,都是将问题拆分,为啥这个要叫面对对象方法?”一个孩子显然将韩庶讲得两种概念搞混了。
“面对对象并不是一种简单的拆分问题的方法,从根本上来说这是一种认识事物的方法,这种方法吧每种事物都单独的划分开来,将每个事物都当作一个单独的个体,而不去考虑物体内部的详细情况,这样考虑其问题就会很简单,……”
“这位老师你说得那个面对对象的效率要比普通的模块化的效率要低很多呀?这有什么用处?用模块化不就行了?那种低效率的编程方法是没有用途的吧。”一个带着厚厚的眼镜的略显瘦弱的年轻男子站的笔直,年轻男子的头高傲的抬起,下巴微微的上扬着,的厚厚的眼镜镜片后面的目光满是不屑。
李力勤有些后悔来这个鸟不拉屎的地方,本来还以为这个路修远是那个了不起的隐士高人呢,没想到一来看到的却是一个什么都不是的小屁孩儿。虽然听了一会儿这个小孩儿的讲课,课是讲的不错,也有很多新的东西,像这个面对对象方法是在国外刚刚兴起的一种编程方法,这种方法虽然只是一种编程方法但却不止是编程方法,严格的来说这种方法其实是一种人类思考、解决问题的方法。这种方法虽然从某些角度上来说是非常完美的,但是由于在计算机实现上来说却有着几乎是致命的缺陷,那就是效率。
如果要想在编程中用面对对象的方法就面临着在执行效率上的损失,因为在面对对象的概念里可以让两个不同性状的对象做同一种名称的操作,但这种名字相同的操作在面临不同的操作对象时表现出不同的操作过程和结果,比如用加法这种操作,在普通的编程方法中一般的文字串是不可以做加法操作,可是在面对对象的方法中完全可用加号来连接两个文字串,并将两个文字串合并成一个串,可同样的加号对普通的数字来说只是普通的加法。还可以将这个概念引申开去,假设一个游戏中有两个机器人,将这两个机器人相加完全可以得到一个组合机器人。这是一种重大的突破这在面对对象的方法中叫多态性,就是同样的描述表现出多种状态,这对大的软件工程是非常有用的,使用对象的一方,完全可以不必关心对象的真实特性和内部细节,就可以用一种普通的操作来进行操作,完全不必担心操作的结果会有意外。这样即使在没有资料的情况下,一方可以非常容易的使用另一方提供的软件部件。但是这种方法不是没有代价的,这种方法要求每个对象要在计算机内安装一个本对象的详细功能说明,将这个对象可进行的操作,和这个操作到底是什么样的操作的说明和指向要登记。在使用对象的时候系统(不是操作系统,是指编译系统)会自动的查阅这个张表,并且分析后根据表内关于这个对象的信息作出正确的判断,使用正确的操作。但是这这个表要占用大量的内存空间,在查用表的时候要花费更多的时间,如果每次的操作都要这样去查表那程序的执行效率将是不可忍受的,而这是面对对象方法的无法克服的障碍。
李力勤就是那个同事们称作白眼狼的家伙,在研究所内也是一个顶针的主儿,虽然是搞硬件的,但是自从对路修远的那篇《面对对象硬件设计方法》感兴趣之后,也是对这种方法进行了仔细的研究,所以对韩庶现在讲课中那些糊弄外行的那些说辞是不屑一顾,要知道在哪个时代计算机资源是非常珍贵的,计算机的每个内存字节都要被充分的利用,每个指令时间都是宝贵的,如何能为了一点点的使用的方便就作这样无谓的浪费?
看着小屁孩还在这里鼓吹着所谓的面对对象方法,而且在言辞中也没有一点点新意,再也忍不住的李力勤勃然而起。
书书网手机版 m.1pwx.com