首页

[切换至繁体版]

返回

关灯 护眼:开 字号:中

第858章 面向对象

    第858章面向对象(第1/2页)
    七月十八日,长安理工大学礼堂。
    这所大学是1953年由升龙迁来的理工学院扩建的。
    当年从美国回来的留学生,都在这个学校里面任教或者搞研发。
    这一天礼堂里面八百人的座位全部坐满。
    韩景明走上台,把话筒从架子上拔下来,从容道:
    “有些人可能是头一回见我,我叫韩景明。
    1944年进加州理工,数学系。那一年班上有个同学,叫约翰·麦卡锡。”
    说到这里,他抬起右手放在额头前面,仿佛在找什么人,
    “麦卡锡,你今天来了没有?”
    中段靠边的位置,一个高个子站起来,朝四周摆了摆手。
    “他站起来了。”韩景明笑道,“你们看,他还认得我老同学。”
    礼堂里响起一片笑声,鼓起掌来。
    “我在加州理工待了两年,后面又到斯坦福念物理,混了一个博士学位后,回到了我自己的国家。
    所以今天这个厅里,加州理工的人我认识一半,斯坦福的人我认识另一半。
    很高兴和你们再次齐聚一堂,虽然你们当年没少在背后说我跑丢了学术前途。”
    一场简单的开场白,直接将场子给热起来了。
    他把话筒换到另一只手,左手扶在话筒支架上。
    “在讲银河之前,先说几句废话。
    最近有不少老同学和我之前的教授发来电报问我,银河是怎么造出来的。
    我说,不是我们比别人聪明。我们只是在某些关键的地方,比所有人早走了半步。”
    台下瞬间安静了下来。
    “计算机这个东西,不是从我们这儿开始的。”
    “一六四二年,帕斯卡做了一个加法器,用齿轮咬合,做出了十进制的计算工具。
    用我们汉语的说法,就是逢十进一。还有一点,我们南华也有一个计算工具,叫算盘。”
    说着他不知道从哪里掏出一个巴掌大的算盘举在手中,同时背后的荧幕也也换成算盘的照片。
    “它的工作原理是五升十进制,同时也兼顾了十进制和十六进制,比帕斯卡的加法器早了几百年。”
    “计算机的历史,在座的非常了解,我就不多介绍。
    今天是银河的开发者大会的开幕式,我想说的是,计算机发展到现在,除了硬件的突破之外,还有他的软件编程。
    最早是机器码,是一串零和一,只有造机器的人才能看得懂。
    后来有了汇编,用助记符代替零和一,工程师不用再背二进制表了。
    再后来有了FORTRAN,有了COBOL,有了ALGOL。
    每一次语言的进步,都在做同一件事:让机器更懂人,而不是让人更懂机器。”
    他转过身,指了一下荧幕,幕布亮出一行字:汉语,才是最懂计算机的母语。
    当然,也很贴心的配上了英文,台下顿时响起了一片嘈杂之声。
    韩景明微微提高了一下音量:“汉语是表意文字,一个字承载的信息量,往往比一个英文单词大。
    这个特点放在编程里,意味着同样一个指令,用汉语写,可能比用英文写少占内存、少走几步运算。
    银河的指令集、编译器、操作系统,全部是用汉语从头设计的。”
    前排一个斯坦福的工程师举起手:“韩,用汉语写代码,别的国家的人怎么用?”
    韩景明笑道:“终于有人问出这个问题了,你们可是不知道我等的有多辛苦。”
    这话一出,台下一片欢声笑语。和315发布会一样,韩景明的主持,从来不会冷场。
    “所以银河做了一个兼容层,叫【桥】。
    当你你用FORTRAN写的程序,经过【桥】翻译成汉语指令,就能在银河计算机上面跑。
    你用COBOL写的,也能跑。效率会打一点折扣,大约八成五。
    不过效率打折扣的问题,只是相对于银河计算机本身来说。
    不过银河能保证,同一套程序在不同的机器上跑,效率绝对是最高的,而且不会出错。”
    (本章未完,请点击下一页继续阅读)第858章面向对象(第2/2页)
    “但如果你想让你的程序在银河上跑到百分之百的效率,你们可以学习汉语。”
    他放下指示棍,走到台前。
    台下的面孔很杂,有各色各样的人,甚至还有穿深色西装的苏国人。
    “今天来了不少老朋友,曼彻斯特的汤姆·基尔伯恩,我也看见你了。”韩景明朝第二排点了一下头。
    台下传来一阵轻微的骚动。
    汤姆·基尔伯恩坐在那里,头发灰白,脸色平静。
    他比韩景明大十几岁,二战时就在曼彻斯特大学参与过“Baby”计算机的研制。
    1962年,他的团队搞出了AtlaS,这是当时欧洲最强大的计算机,它率先实现了虚拟内存和分时处理。
    他的虚拟内存、分页调度等核心发明,至今仍是所有现代计算机系统的基础。
    韩景明在编写兼容层的时候,就曾经常出国拜访各个计算机的高手。
    曼彻斯特去过几次,两人算是有过几面之缘。
    基尔伯恩并没有站起来,只是朝着韩景明微微颔首。
    韩景明直接点了他的名:“基尔伯恩教授,AtlaS的一级存储系统,虚拟内存和分时处理的理念,非常先进。
    在银河的操作系统里面,就用到了这两项技术。
    在这一方面,我要非常感谢您和AtlaS计算机。”
    说完,他朝着基尔伯恩深深一鞠躬。
    基尔伯恩这是站了起来,要来话筒,带着英格兰北部的口音说道:
    “韩,AtlaS的虚拟内存是为了让一台机器同时跑多个程序。
    银河的【桥】,是为了让一台机器同时跑多种语言。
    思路不一样,但解决的问题有相通的地方。
    我记得三年前你问过我在虚拟内存的管理上的问题。
    我现在想问你,银河的汉语指令集在这个方面,有没有遇到我们当年碰到的那些问题?”
    这是内行的问题。
    机器的主存装不下整段程序,就得想办法把程序拆开。
    一段一段换进来,换得不好,机器就停住一直等待,算力再高也使不上。
    这时候,虚拟内存的好处就来了。
    韩景明不假思索道:“当然遇到了,就算是照着正确答案抄写,也会有抄错的时候。
    汉语指令的变长特性,让分页管理比英文指令复杂得多。
    一个汉字占几个字节,取决于它用在什么地方。
    我们在指令集设计阶段就做了对齐处理,但编译器优化的时候还是吃了不少苦头。
    最后是用了三级页表才解决的。”
    基尔伯恩点了点头,没有再追问。
    这时候又有人站了起来,是个瘦高个,戴着一副很厚的眼镜,说话带北欧口音。
    是克里斯汀·尼加德。他和同事达尔这几年在开发一个叫SimUla的编程语言。
    “韩博士,我叫克里斯汀·尼加德,在挪威计算中心做的是模拟语言。
    我们想把现实世界里的系统,用程序描述出来。
    比如一个港口,有船、有码头、有货物。
    每一样东西都有自己的属性,船有吨位、码头有泊位、货物有种类,而这些东西之间互相关联。
    我们想用某种方式,把这些东西和它们之间的关系,直接写在程序里,您说可行吗?”
    “你说的东西,你们管它叫什么?”韩景明问。
    “还在讨论,不过已经有了初步的名字,对象或者类。
    但我遇到一个问题,我想定义一个船的类型,它应该有吨位、航速、当前位置。
    但这些属性是绑在一起的,我不想把它们拆成一堆单独的变量。
    我不知道怎么在编程语言的层面上,把数据和操作数据的方法写在一起。”
    ——本人大学学过Java、C++等语言,凭记忆写的相关专业知识点。
    已经竭尽所能写的让读者老爷们能看懂

一秒记住【顶点小说】
dingdian12345.com,更新快,无弹窗!

章节报错(免登陆)
验证码: 提交关闭