“5年后完全由汉语开发的操作系统能否替代现行的WINDOWS?
信息产业部教育中心总工程师沈林兴把五笔字型输入法、汉字激光照排系统和汉语编程作为汉字在计算机应用中的三大里程碑,“而汉语编程更具革命性意义。”他欣喜地看到这一颠覆已经悄然开始。。。。。。。”
看到这样的句子我真的感觉好笑。第一句我想可能是本世纪最大的笑话。至于第二句的的三个里程碑,我实在是不知所云。里程的定义不是随便说了就算吧?
首先我们可以想象一下汉语编程语法的实现:
私有窗体 窗体一 ()
{
整数 整数A;
浮点数 浮点B;
字符 字符C; //注:这里的"整数A"和"字符C"类似我们定义的intA和strC等。
......
如果(整数A > 5)
{
字符C=字符C+"考核";
}
否则
{
......
}
}
我已经采用了尽量简洁的编程方式。我不知道这样的代码是否有能力现在任何一种编程语法最臃肿的语言竞争。
但是事实上,实际的汉语编程比上面的更罗嗦:
如果 (标签3.标题 = “-”)
※当选择为减法运算时。选择不同的运算方式,该标签的标题就发生相应变化
如果 (变量1 > 变量2)
※当减数大于被减数时
如果 (变量3 = 变量1 - 变量2)
※当运算结果正确时
标签7.可视 = 真
......
变量5 = 变量5 + 1
如果结束
变量6 = 变量4 + 变量5
※赋值于变量6 ,表示运算次数的总和,即正确次数与错误次数之和
标签13.可视 = 真
※该标签的标题是“共计”
标签12.标题 = 到文本 (变量4 + 变量5)
标签9.标题 = 到文本 (取整 (变量4 ÷ 变量6 × 100))
标签11.可视 = 真
※该标签的标题是“正确率”
标签10.可视 = 真
※该标签的标题是“ %”
否则
标签2.标题 = “不能相减”
※当减数小于被减数时
如果结束
怎么样?大开眼界吧?我很怀疑以上的代码如何进行维护。可读性太差。而且,我要考虑我的打字速度。因为我汉字打字速度比较慢。(为此我要狂练两个月五笔了,因为我五笔打字没拼音快。遗憾中。。。)
其次我们考核一下程序文件的大小。当我们把每个strA都变成"字符A"这样的定义,大家觉得大小会发生多大的变化?
最后,考虑一下操作系统问题吧。用这样的语言写操作系统?就以上语言的可读性,我认为:该操作系统比windows处理速度慢1/3同时无法进行任何维护(有朋友对这点表示反对,认为编译后的代码不影响速度。事实上速度慢的原因是臃肿的结构不利于编译系统的优化)。即使选用了很好的编译器,操作系统速度可以和windows等媲美,你总要考虑维护和升级问题吧?大堆的汉字来进行加减逻辑运算,我想大家的眼睛都没有习惯。因为中学和小学的老师都没有这样教学生:
设未知数为 未知数1
未知数1的平方=未知数1+1
未知数1=......
打了上面的字,我感觉我自己都快变愚蠢了。看来要赶快结束文章了。
汉语编程为什么要代替windows编程?
为了简洁?很显然没有。虽然汉语编程里有这样的表达方式:
bq1.bt = "您好!"
上面等同于:标签1.标题= "您好!" ------当时,以后维护这样的代码,你知道bq1代表什么意思?bt代表什么意思??如果从如此众多的拼音式缩写中猜出原来的意思,你一定是天才。所以如此看来,工程中是绝对不能这样省事了。
为了编程速度?那至少我认为还应该做一个放有2000常用汉字的大键盘才好。同时我的打字速度比别人要快2/5。这样我可能就比别人稍微快那么一点了。
为了运行效率?没发现。据说这样的代码运行速度和其它语言是一样的:
子程序:_按钮1_被单击
信息框 (“祖国您好!”, 0, )
编译后的机器代码为:
pushebp
movebp,esp// 下面的代码调用支持库中“信息框”命令的实现函数。
push0
push0
push0
push80000301h
push0
push0
push80000004h
push0
push4030CBh
push3
mov ebx,300h
call00403350// 跳到支持库中“信息框”命令的实现函数。
add esp,28h
mov esp,ebp
pop ebp
ret
请注意:上面的代码不能证明任何问题。从表面看,确实没有任何问题。但是,这只能表明,文章作者选用的编译器写得如何怎样。
还不清楚什么意思吗?请仔细看 call 00403350这一句。信息框是个实现函数。这样的函数用C处理的结果和用basic处理的结果很明显不会是一个速度。所以,我只能认为,作者企图掩盖什么更本质的东西。或者说,在某些简单的情况下,确实不同语言对同一问题的处理结果是一样的。
程序中绝大部分都是逻辑和数学表达式,与采用英语还是汉语来描述的关系实质确实并不大。从编程语言的发展历史来看,它经历了从汇编到高级、从面向过程到面向对象的转变。主流语言也经历汇编,Fortran,C,C++,java等变化,但是,考核这些语言,也只是语法的不同。从没有人质疑过变量的定义和程序的结构本身的设置问题。从来没有出现过德语编程,日语编程,法语编程等变种。当所有的人都将精力投入英文格式的----或者更坦白讲,是键盘字符格式的编程中的时候,我想,汉语编程没有任何市场获得技术上的支持,市场上的推广以及,市场需求。它仅仅是个玩具。适合儿童的玩具。它不会造就任何一个“汉语编程”在任何领域的“专家”,只适合一种泛泛的研究。如此而已。
至于操作系统?那可能要首先考虑计算机是否该基于三进制或四进制。同时考虑是不是要把ascii字符集扩大到65535个。
转眼间,已经过去近两年了,翻开以前的帖子,有些感慨。因为某文提到的所谓颠覆,似乎还没有任何迹象。我期待一个真实的中国人的操作系统,哪怕不是中文的。