又过来在她们这边待了些日子,他对这边的种种慢慢也都熟悉了,见了东西也大略知道是些什么,看外面或者电视电影里的人也能看出他们是在做什么。这天他玩着手机,不觉好奇,见她从没提过这些电脑上手机上的东西到底是怎么出来的,它们怎么能这样那样的干这些事,便问了问朱晏清。
朱晏清道,“那都是编的程序。”
“怎么编的?”
“那个很难——”朱晏清看他笑道,“要弄明白编程,你得很聪明。”
虽然这些天看她们的书每每看得头昏脑涨,他还是嘴硬笑道,“我很聪明。”
朱晏清不由笑道,“夸你两句,你就要上天——我哥才……他还差不多,他就是干这个的。”
“他就能做出来上面这些东西?”
“嗯,差不多,也不是都会做,也是有的会有的不会。因为……这里面……那些东西太多了,一个人不能什么都会。”
展昭点点头道,“就像练功夫的,有的会使刀,有的会使剑,也不是就能样样都会。就样样都会的,也难样样都精。”
“对——他们那些就叫程序员,就是编程序的。”
“那他究竟是做什么?”
“他们就是……编程序,让手机和电脑干活。就是写一段代码,让电脑知道该干什么。写程序……就是跟电脑说话,能跟电脑把话说清楚的就是程序员。电脑它就是……它其实什么都不知道,它就会算数,你就把要叫它干的活都变成算数,等它算出来再变回来……当然,那都是很底层的,一般编程也用不着这样,其实就跟直接说话一样,不过……我也说不明白,我还是跟你看看什么是代码吧——”
她叫他一起过去电脑那里去找给他看。看她先搜“简单代码”,出来些东西,她蹙眉看了一下,又改成搜中文编程,找了一会,便叫他看。
如果(你中午没吃饭){去吃饭;}否则{午休;}
“看到了吗?电脑就是比较死板,跟它说话都得按固定的格式。你就像是教一个……或者一群什么都不知道人去做事。当然也不是什么都不知道,就是知道的很少。比如让一个人做饭,如果他会做,就告诉他做什么菜就行了。但如果他不会做,就要告诉他怎么做。先把菜洗好,再把锅放好,再把火打开,再把油倒进去,过一分钟,再把葱花放进去,过半分钟,再把菜放进去。过五分钟,关火,把菜铲出来。”
“也有可能他不知道什么是锅,就得先告诉他什么是锅。锅就是一个圆的,铁的什么什么的这么一个东西。”
“也可能他不知道什么是圆。就得告诉他圆形就是到一个点距离相等的点的集合——我忘了圆的定义是什么了——对了,得是平面上的这种点的集合。”
“也可能他不知道什么是点——我也不知道——不是,我知道,是我不会说了,哈哈——不过这种底层的东西肯定别人都做好了。”
“所以就像是你要做衣服,就尽量把别人织好的布拿来用。要是你不知道去哪找别人做的布,或者你觉得别人做的布不好用,你就自己去织一块也行。最后拼凑出自己想要的东西就行了。编程序就是用代码拼凑出一个东西。”
她又点了几下,找到这样一段给他看。“你看,也可以这样说,这个你看着是不是比较亲切——总之就是要按格式说——当然里边的算法和结构什么的就更难了,那我也不会,那得数学很厉害。”
展昭看上边写的是:
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
朱晏清道,“看到了吗,这意思就是让电脑把‘问天地好在’写三遍。要是把三改成十,电脑就写十遍。
“‘为是甲遍’就是把这件事干‘甲’遍。甲是一就干一遍,甲是二就干两遍,甲是一百就干一百遍,是一万就干一万遍。
“这件事就是写字,就是下面这句:“吾有一言。曰「「問天地好在。」」。書之。”
“要是把‘问天地好在’改成别的,它就写别的,改成……改成随便什么,一般都行。比如‘天长地久’或者……或者……反正改成什么它就写什么,让它写几遍它就写几遍。就是得照着这个格式写,不然它就看不懂——这就是编程,用它能看懂的格式告诉它想让它去干什么。”
“唔。”他点点头。
“我不知道他这个能不能用,反正就是这个意思——我看看他这还有什么。他这里还有几个例子,具体是干什么,我也看不太懂了,一会你看看吧——咦,看我找到了什么……哇,这不就是写给你看的吗?看——”
他凑过去看了看,原来是一篇文字:
“編程者何。所以役機器也。機器者何。所以代人力也。然機器之力也廣。其算也速。唯智不逮也。故有智者慎謀遠慮。下筆千言。如軍令然。如藥方然。謂之程式。機器既明之。乃能為人所使。或演星文。或析事理。其用豈止萬端……
一边看,听她赞叹道,“他古文写得真挺溜的——还有十二篇呢,”又笑道,“等你看完,估计就会编程了。”
看她笑嘻嘻地,分明是说笑。果然她又道,“就只是会了——就跟下围棋一样,会了就只是会了而已,会往棋盘上放棋子了跟能下赢可还不一样。有人能编会写“围棋”这俩字的程序——我感觉我也差不多就会——有人能编会下围棋的程序,有人编的围棋程序可能连我都下不赢,有人编的能跟高手下,也有的……”她笑了笑,不说了。
展昭也笑道,“就跟画画一样,提起笔就能画,画出来的就不一样。”他自然知道,世上万般技艺,皆是如此。若非精心苦练,焉能有成?
“嗯。”她点头答应。
他胡乱看了看那些文章,朱晏清也在手机上看了一会,又打开电视找出来个视频,叫他去看。看上面字说的是,10分钟速成课:计算机科学。又出了个外国女人,一惊一乍挤眉弄眼地说话,倒也笑得颇为可亲,可说的却是外文,展昭不禁苦笑。
“为什么要看外文的,你故意的吧?”展昭笑道,“你是怕我看明白了你没面子是不是?”
朱晏清只笑,又停下视频道,“不是有中文字幕吗——我也不一定都能听懂,有的词我也不知道,她说得又太快了,我也是看字幕。”
“你就不能找个中文的?”
“不能——不行把声音关了,我读给你听?”
展昭想她来读跟自己看还不是一样,无奈只能硬着头皮去看,不去管那女人叽里呱啦说的话,只看字幕。
上面说会从头一直学到机器人,他虽不知道什么是机器人,猜也就是人形机器,想着不禁觉着又好笑也是好玩。女人又说,这里会学很多东西,但不会教你怎么编程。展昭不禁看了朱晏清一眼,朱晏清微笑瞟了瞟他,只说一个字道,“看。”叫他再看下去。
他只得再往下看。看字幕上那女人又说了半天计算机多么重要,终于开始说——算盘?视频里用算盘珠子算了半天数,又说了一些以前的计算工具,但并没有说那些东西是怎么做的,怎么用。又说了发射炮弹用的射程表。后来是个不知道干什么用的差分机,又出来分析机,也不知道是做什么的,只看到说它太超前了所以没有建成。又说一个女人是世界上第一个程序员,第一集便结束了。虽然有些词不知道说的什么东西,不过看来似乎也不像特别难。
第二集,终于开始讲电子计算机了。说刚开始它很大。又说了继电器,他觉得有点需要回去看下物理课本,然而继电器已经过去了,变成了热电子管,真空管,二极管,三极管,那些电子流来流去,已经把他脑子流成了浆糊。又说造了一个巨人一号,后来又造了一台更快的,但只有英文名。说它完成的运算,比全人类以往算的加起来还多。又出来了晶体管,不知道它跟半导体是什么关系。总之似乎这些管全像是水龙头一样都是开关——该叫电龙头才是,想必太小了,便都叫做这个那个的管了。不过它们也不像水龙头可以调水量的大小,就只能开和关。说这个晶体管可以每秒开关一万次,很小,比以前的管小,所以造出来的计算机也小了。现在,它比一张纸厚度的多少分之一——千分之一?——还要小。每秒可以切换上百万次。还有什么硅谷、仙童、英特尔……反正这一集就是在说开关、开关、开关。
到了第三集,说了与或非怎么变真假。看着很简单,放在电路里却也要半天才能看出来是怎么算。本来简单的电路加上上一集说的那个不知道什么时候开什么时候关的开关就拿不准它到底是要干什么了。
第三集看完了,朱晏清暂停了一下,看看他道,“怎么样?”
展昭嘴硬道,“她就是说得太快了,我要是慢慢算也能算出来。”
朱晏清撇撇嘴,按了一下遥控器,继续看下一集。
第四集,那个女人戴了个眼镜。说二进制,说了半天,就是说,那些开关虽然只能开和关,但只要位数够多,能做的事就够多。七位二进制就可以给127个字母符号编号,在英语里就够用了。16位就可以有一百万多位置,不管什么语言都够用了。还可以编码声音、颜色,它几乎就什么都能干了。他现在似乎模模糊糊隐隐约约知道一点电脑是怎么回事了。第五集,算术逻辑单元,好像又要开始算那些开关了,一看这个就有点头疼。他想起方才朱晏清说,要弄明白编程,你得很聪明。现在还没开始编程,他已经开始觉得自己有点不够聪明了。看到后面还有几十集,不由头大。
朱晏清想是也看得累了,看完这集,便道,“要不我们看点别的,歇一会。我看看这个系列还有什么。”
她又找了物理的看了一会,不满道,“这怎么上来就用微积分,这个大美女要不要这么欺负我们这些老实人啊。”出来讲的本是个男子,才说了几句,又换了个女子。那男子肤白,这女子肤色暗些,神色间明媚张扬,虽非宁静温雅,但张而不狂,也别具一格。
朱晏清嫌物理的麻烦,又换了个历史的,这次是两个男子,轮流娓娓而谈。他虽听不出说的什么,但听他们话音也都颇为悦耳。看画面和字幕竟然先讲了什么大爆炸,什么宇宙星系,太阳地球,到后面终于说了古人如何如何,现在如何如何不同。如何煤和石油储存了过去几亿年来自太阳的能量,竟也提到一句,为何工业革命没有发生在宋代中国?他看得不由心中一跳。又说宋代中国已经非常接近要发起一场现代革命——他可没觉出来,在那里,不过人人都日复一日劳作不息而已,哪里看出要有什么变动了?又说宋代时产铁也较多,却又说,但是——中国的煤是干煤,而英国是湿煤,于是英国人建造出了蒸汽机。难道真的只是因为这个?后面又说,也可能是文化和政治环境所致,或者是与外面联系和贸易不够,总之是必要的一系列组合条件没有凑齐。说的什么集体学习极为要紧,又说了这些变动带来的一些战争和瘟疫,它的种种好处和坏处。这个虽也未必能都懂了,好在不用费神去算,就迷迷糊糊看看就行了。
后面朱晏清又有时找出一些其他的,什么社会学经济学心理学的,她也只挑着随便看了点,有些看了大略还能知道是怎么回事,有些看得不过似懂非懂。
“诶,对了,我看看他们哲学说的什么。”她找了看了目录,有些失望。“怎么就这么点东西?我想看的都没说啊。”又查了一下道,“哦,原来人家这个系列是做给高中生看的,怪不得都这么简单。忽然又抬头笑道,“哎,我觉得我们也可以做这个——主要就是写好稿子,背就完事了。他们也就是这么干的,背景好好布置一下,就对着镜头说就行了——中间还放点小动画。动画做起来还有点麻烦,要是只放图片就简单了。”
她也就说说而已,又道,“算了,人家都做好了,我们看就行了,我就是看哲学的好多它都没说,下次有空了再说吧——真做也不可能做出他们这种效果来,还是算了。”
那个讲计算机的视频后面也没有怎么看,她又在手机上找了文章,叫他自己看。他胡乱看了,还是跟那视频里说得相似。也是最前边还简单,往后一点就麻烦得很,看得甚是费劲,到后面更是稀里糊涂地理不清,他也只囫囵吞枣地胡乱看了一点,好在朱晏清也没有问他,想是也知道他根本学不会。她还又在电脑上找出了堆叠各样有字的方块的,说那也是编程,是给小孩子学的,让他试了试。也是一开始是极简单,到后面就要费神。她又说看看玩玩就行了,这些也不用学,学了也没用。