关于中文编程

其实中文尽管使用人数最多,但在计算机这个领域是不大受欢迎的。不用说一块汉卡就能开一家公司的时代,就算现在,汉语也还是在诸多方面受到歧视。最气的是,在很多网站上,往往有日语版而无中文版。象sun公司的网站就是一个例子,不知道现在sun公司与中国政府全面合作这方面会不会好一点。

不扯远了,关于中文编程的问题,实际上有两层含义,一层中能够处理(输入,输出等等)中文,另一层是能够在源代码这一级上支持中文。第一层的意义的讨论比较多,再加上我是一个程序员,因此我想源代码上支持中文的讨论是比较有意义的。

其实,如果说代码可读性是最值得重视的话。那么,支持中文在源代码中的应用应该是一个自然的推论。我经常见到为取变量名和类名查字典的情况,这还算是好的。有时候遇到不好查字典或者理解不准确甚至是心情不好,乱起一个名字,就会搞得后来读程序头痛。“道可道,非常道;名可名,非常名”。《道德经》把名放在开篇中,可见一个好的名字的重要性。我觉得名字就代表对事物本质的认识,再加上软件这样一个东西,其中的大部分事物几乎都是创造出来的,如果没有一个好的名字,就会让人很难以理解。我觉得名字差有三方面的原因:

1、名字代表程序员对事物本质的认识,一个坏的名字可能意味着概念的模糊。

有可能是程序员对事物的划分不准确,这些东西在一起只是偶然的,从而取不出好的名字,因为这个事物的边界是模糊的;也有可能开始的时候是准确的,但后来随着事物的发展,这个东西的性质已经改变,原来的名字已经反映不出它的本质了。这个时候就需要改一个更准确的名字,但由于没有方法论和工具的保证,这种变动往往不太容易,因此很多人不会愿意做这种变化。不是有人说,只要还能工作,就不要去动它吗?另外跟这个相关的,还有一个问题,那就是认为程序是由自己控制的,是“我”让它这样的,它是“我”的。一定程度上可以这么说,但我更倾向于认为程序是一个“活物”,它是可以自己控制自己的,是可以“生长”的。或者从另一个角度来看,难道不是因为用户的需求,我们才有这样的程序吗?我的意思只是想说,程序是有生命的,要习惯于让代码带领我们走向它该去的方向,不要强加到代码上很多东西。或者可以这样说,“无为而治”地让代码“生长”。

2、认为名字不重要,这个上面我已经谈到。

3、认识也是准确的,也想取一个好名字,但是因为语言的限制,取不了好名字。

这个正是我想说的问题。因此我们就要在源代码中使用中文。那有的人说,现在的语言大多支持中文的注释,用中文注释不就OK了吗?关于这个观点,请参见Refactoring中的论述,总之,结论是,做为向高级语言进化的第一步,汇编语言中出现的关于变量名,方法名等等,正是自然的表达人的思想的地方,从这个角度上来看,注释倒反是副产品,也就是说,在用变量名,方法名,类名等等不能表达的时候,在用Refactoring不能解决问题的时候,才用注释来解决。

但是中文编程不是没有问题的,最现实的一个问题是:环境的支持。最基本的是运行环境和编译环境,我大部分时间都生活在Java环境中,很少数情况会有不支持的情况,我记得遇到过的不支持的情况好象是WebLogic不支持有中文方法名的EJB。总之,这方面的不支持是比较少的。IDE的支持一般也是可以的,但是对输入的支持一般都不好。比如有一个中文方法名,如果要想在弹出的选单中选中文方法名,都是很痛苦的。我能想到的比较好的方法应该是象E语言一样:象输入"中文",只需要输入"zhongwen"或"zw",或"zhw"即可。但现在几乎所有的开发工具都不支持,我想有一天这种输入方法应该是会被支持的。

学习汉语编程必须明白几点: 1-中文和英文的地位是平等的,在计算机中也一样,不要褒英贬汉; 2-计算机的机器码是0和1,他既可以和英文对应也可以和中文对应; 3-英文编程之所以占主导地位,是因为世界体系格局现在及今后几十年仍将由西方主导,其语言和文化等 已渗透全球方方面面; 4-伴随着中国经济的发展,国际地位的提升,汉语编程也会像孔子学院一样全球开花结果,但道路是曲折 漫长的,需要我们共同努力。 如果你怀疑汉语编程真假,那么就冷静下来理性分析一下,怀疑可以但不要听信谗言。如果你决定学习 汉语编程,那么就不要再怀疑它,否则是学不好的。 汉语编程中编辑器、编译器、库结构三个软件是在windows平台上运行的软件,所以会被人们误认为是 汉化的,因为现在大多数人都用windows系统,所以要想推广肯定要在windows平台上,要兼容windows,而 且有一点,大家不要一看到汉编里英文就说汉编是假的,想想中华文化里有多少外来文化,要包容,然后消 化,再吸收,这才是正道,阿拉伯数字、汉语拼音字母这些就不是外来的,对我们有利的我们当然要加以利 用,汉编也一样,能用则用,为何不用,这也是中华文化包容性在汉编中的又一体现。 汉编现在只开放这种基于windows上的工具软件,还有其它深层或底层的由于商业原因现在还没对外开 放,如果这些都学不会就更没机会接触了,给你也不会用。 知识的原理是相同的,但千万别拿英文和汉语对照,语言环境变了,思维也要改变,当初学英语时老师 会强调我们要用英语思维,现在学汉编请光荣地找回你们的汉语思维,回归正统,尤其是英编高手。 针对一些英编高手说英编很好很强大,为什么还要学汉编,我们来举个例子:中国为什么要国防建设国 产化,难道买俄罗斯的武器不好吗?印度也是大国,为什么向俄罗斯买军火时,动不动就被宰,因为他自己 造不出来,这是经济方面;再看一下马岛战争,为什么阿根廷先期处于优势而结果却输了,因为法国不卖导 弹给他了,这是战争方面。现在英编高手可以不用学汉编,因为在汉编高手起来之前还没有人能撼动其地位, 当汉编高手起来之后他们自己也该回家养老了,历史的更替使其自动退下舞台,将来汉编产业化后,所谓的 编程精英也将消失,编程也就是一个普通的工种,这是一种必然的趋势。 汉语热已经在全球刮起了旋风,相信汉编也会在计算机世界里受到追捧。 现在还是个过渡阶段,希望将来龙芯出中文CPU,然后与汉编联姻,就是汉语和英语在计算机世界中二 分天下的时候了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值