第130章 中文代码的浪漫
  1980年秋,京城,红星软体研究所。
  窗外的银杏叶黄了,金灿灿地铺了一地。
  而在一间名为“仓頡”的绝密会议室里,气氛却像是一场没有硝烟的辩论赛。
  “荒谬!简直是荒谬!”
  拍桌子的是一位来自麻省理工学院的计算机教授,名叫史蒂芬。他是隨同ibm代表团来考察“龙芯”生態的顾问。
  此时,他正指著黑板上的一行行方块字,脸涨得通红。
  “计算机科学的基础是数学,而数学的通用语言是英语和希腊字母!你们试图用……用这种象形文字来写代码?这是对科学的褻瀆!这是在开歷史的倒车!”
  史蒂芬的愤怒代表了当时西方学术界的主流观点。
  在他们看来,ascii码是计算机世界的圣经。所有的程式语言,从汇编到c,从fortran到pascal,无一不是基於英语逻辑构建的。
  想用中文编程?那不就是把if换成如果,把else换成否则吗?那是脱裤子放屁,毫无意义的汉化!
  “史蒂芬教授,请坐。”
  苏正坐在会议桌的对面,神色淡然。他手里端著紫砂茶杯,轻轻吹了吹浮在水面的茶叶。
  “您说计算机语言必须是英语,是因为计算机是你们发明的。”
  苏正放下茶杯,目光变得深邃,“但现在,晶片是我们造的,架构是我们定的。为什么规则……还要听你们的?”
  “这不仅是规则的问题,是效率!”
  史蒂芬反驳道,“英文单词有空格分隔,逻辑清晰。而中文……连词与词的界限都模糊不清。用中文写编译器,光是词法分析就能把cpu累死!”
  “是吗?”
  苏正笑了。
  他转头看向身边的叶心仪,“心仪,给教授演示一下,什么叫……中文的效率。”
  叶心仪点点头,打开了那台连接著大屏幕的“龙芯”工作站。
  屏幕漆黑。
  隨著她手指敲击,一行行亮白色的汉字代码,如同瀑布般流淌下来。
  那不是简单的汉化。
  那是一种全新的、从未见过的语法结构。
  【程序名:沧海一声笑】
  【定义:天地(屏幕),日月(循环),眾生(数组)】
  入:主函数
  设:天地之宽= 1024
  设:眾生之数= 100
  观:眾生皆苦(初始化数组)
  若:眾生[某]>慾念
  则:斩(刪除)
  或者:
  渡(移动)
  终
  嘆:时光荏苒(主循环)
  復:天地
  绘:眾生
  止
  出
  隨著叶心仪的输入,现场变得鸦雀无声。
  那些汉字,不再是冷冰冰的指令。
  它们组合在一起,竟然產生了一种奇异的韵律感。
  不像是在写代码,倒像是在写一首……古诗?或者一篇駢文?
  “这……这是什么鬼东西?”史蒂芬看得目瞪口呆,“『观』?『若』?『嘆』?这些字在编译器里代表什么?”
  “『观』代表遍歷(iterate)。”
  叶心仪一边敲击键盘,一边冷冷地解释,“『若』是条件判断,『嘆』是无限循环,『渡』是內存拷贝。”
  “这有什么意义?不就是换了个名字吗?”
  “意义在於……信息密度。”
  苏正站起身,走到黑板前,拿起粉笔画了一个方框。
  “在英文里,描述一个『遍歷数组並刪除符合条件的元素』的逻辑,你需要写for,写if,写花括號,写一堆冗长的变量名。”
  “但在中文里。”
  苏正指著屏幕上那寥寥几行字,“一个字,就是一个世界。”
  “中文是二维的象形文字。每一个汉字,都携带了比英文单词多得多的语义信息。在我们的『仓頡』编译器里,一个汉字指令,可以直接映射为龙芯架构底层的『宏指令』。”
  苏正的声音提高了几分:
  “也就是说,同样的功能,英文代码需要写100行,编译后生成500条机器码。”
  “而中文代码,只需要写20行,编译后……只有300条机器码!”
  “不可能!”史蒂芬大喊,“编译器的效率不可能相差这么大!”
  “跑个分吧。”
  苏正做了个请的手势。
  测试项目:快速傅立叶变换(fft)。
  左边屏幕:c语言版本,由史蒂芬亲自编写,优化到了极致。
  右边屏幕:仓頡语言版本,由叶心仪现场赋诗一首。
  “开始!”
  隨著回车键按下。
  两台配置完全相同的“龙芯”电脑开始疯狂运转。
  进度条飞快地向前冲。
  一秒。
  两秒。
  滴!
  右边的屏幕率先弹出了结果:耗时:1.24秒。
  而左边的屏幕,还在在那儿转圈。
  直到1.8秒后,才弹出结果。
  1.24 vs 1.8。
  快了接近50%!
  “这……这不科学……”
  史蒂芬瘫坐在椅子上,满脸冷汗,“为什么?为什么会这么快?”
  “因为『意境』。”
  叶心仪合上电脑,淡淡地说道,“c语言关注的是『怎么做』(how),它需要一步步教傻瓜cpu去搬砖。”
  “而仓頡语言关注的是『做什么』(what)。中文的语法结构,天生就包含了对整体逻辑的描述。我们的编译器能读懂代码的『意境』,从而直接调用cpu內部的並行计算单元。”
  她指了指脑子:
  “在龙芯的架构里,我们预埋了专门处理『汉字逻辑』的微指令集。这,就是主场优势。”
  苏正看著彻底沉默的西方代表团,心中涌起一股强烈的快意。
  这就是文化自信。
  谁说代码必须是英文的?
  谁说逻辑必须是线性的?
  几千年前,老祖宗用文言文能描述宇宙万物。今天,我们用汉字代码,一样能构建数字世界!
  而且,构建得更美,更快,更强!
  “苏先生……”
  许久,ibm的代表终於开口了,语气中少了几分傲慢,多了几分敬畏,“这套……『仓頡』语言,能授权给我们吗?”
  “当然。”
  苏正微笑著点头,“不过,要想学仓頡,得先学《说文解字》。我想,各位回去后,得给你们的程式设计师报个中文补习班了。”
  “另外……”
  苏正指了指会议室墙上掛著的一幅字:【道生一,一生二,二生三,三生万物】。
  “这就是二进位的起源。其实,在这个领域,我们才是祖师爷。”
  ……
  送走外宾后,会议室里爆发出了一阵欢呼。
  年轻的华夏程式设计师们激动得热泪盈眶。
  曾几何时,他们为了学编程,不得不抱著厚厚的英汉词典,死记硬背那些枯燥的单词。integer,float,pointer……每一个单词都是一道门槛,拦住了无数有天赋但英语不好的华夏少年。
  但今天。
  那个玻璃天花板,碎了。
  “苏部长!我想试试!”
  一个戴著眼镜的男生衝到电脑前,“我想用仓頡写个……写个贪吃蛇!”
  “写!”
  苏正大手一挥,“不仅要写贪吃蛇,还要写作业系统,写办公软体,写游戏!从今天起,我们的屏幕上,不仅要有汉字的界面,还要有汉字的灵魂!”
  叶心仪站在苏正身边,看著那些兴奋的年轻人。
  “你把这群孩子放出来了。”她轻声说道,“你知道这意味著什么吗?”
  “意味著什么?”
  “意味著以后,西方黑客想破解我们的代码,得先去考个中文六级。”
  叶心仪难得地开了个玩笑,“而且,他们永远也读不懂,为什么我们在变量名里藏了一句『落霞与孤鶩齐飞』。”
  苏正大笑。
  是啊,这就是中文代码的浪漫。
  它是理性的,也是感性的。它是逻辑的,也是诗意的。
  它让冰冷的硅基晶片,第一次拥有了温度。
  “心仪。”
  苏正收起笑容,看向窗外,“地基打好了,柱子立起来了。接下来,该盖房子了。”
  “你是说……”
  “图形界面。”
  苏正从口袋里掏出那个从硅谷带回来的简陋滑鼠。
  “有了仓頡语言的高效率,我们终於可以在这颗算力还不够强大的晶片上,跑起来那个……真正属於未来的界面了。”
  “下一步,我们要让视窗……提前十年,在华夏诞生。”
  ……