每隔几天,就会有人在网媒上讨论中文编程的问题,甚至有编程的套件发布,每次都会引发一场大讨论。但是在程序员的圈子里,却很少看到有人关注这个话题。

为什么汉语编程这个话题总能引吸一些人的眼球呢?我们就开动脑筋,来想一想汉语编程能带来的好处。

1) 民族荣誉感增强,这种感觉就像是以后我们的子孙再也不用学习英文了,而是英国人,美国人,世界各国人民都挤破脑袋来学习汉语,中华民族可以把学习英语的大 把时间节约下来,去做更有意义的事情。这以后,你去国外旅游,当地人一听说你是中国来的,会说汉语,就好吃好喝好妹子的招待你,只求能和你有一个练习口语 的机会。万一你失业了,实在是找不着工作,你还可以找个地方传授别人通关汉语四六级的秘诀。

等到汉语编程取待英语编程的那一天,咱们一定要让老英老美把咱们中国人吃过的苦头挨个吃一遍。这个看来,上升到民族大义的高度,汉语编程还真值得下功夫。

2)汉语编程能降低中国人学习编程的门槛,中国的软件水平有机会领先世界。

对于第一点,帽子太大,我无法发表观点,大多数打着为国为民旗号的行动最后看来都是扯蛋,为自己才是真的。第二点中提到的降低中国人学习编程的门槛,看来更具现实意义。

但笔者调查发现,大多数程序员的英语水平一般,越是顶尖的程序员英语水平越不敢恭维。为什么,码农们把大把的时间都花在编程这件事上,哪有时间学习英语。另外,如果拥有良好的英语能力,那么你的就业选择面就非常广了。其实,没有多少人愿意把青春砸在写代码这件事上。

英语水平不行确实会为程序员的职业生涯带来很多的麻烦,但写代码并不能提高你的英语水平。英文水平差的程序员在读英文资料时会有很大的障碍,但没听说过有程序员因为英语不过关就读不了代码,写不了代码。

写代码用来的英文其实并不是通常意义的英文。英文不好并不会成为你编程路上最致命的障碍。反过来说,汉语编程,并不会在多大程度上方便中国人学习编程这门手艺。只有外行人把编程和英文混为一谈,程序员们从来就没有这么想过。

如果要为汉语编程找一个用武之地,我想,可能最大的用途在于让中国儿童学习编程。但我回答不了,为什么要让儿童学习编程呢,如果用汉语来设计编程语言,用图形来设计,是不是更好呢,更易于儿童学习呢。

说了这么多,汉语编程,在技术上是完全可行的,但我还是找不来汉语编程能带来的实实在在的效益。

从汉语编程这个话题来看,得有多少人愿意学习编程这门手艺呀。

下面,我们来欣赏一段比较接近汉语编程的代码,看看汉语写代码是个个么屌样,注意,这段代码是可以执行的。

#code.汉.js

var 丑化JS = require("uglify-js");

var _ = require("underscore");

var 翻译工具 = require("./translate_util");

var 翻译对象 = {}; 
module.exports = function(源代码, 回调){ 

    var AST的代码 = 丑化JS.parse(源代码);

    var 无功节点 = []; 

    var 参考节点 = [];

    var 跨语言 = []; 
    AST的代码.walk(new 丑化JS.TreeWalker(function(结){

    if (结 instanceof 丑化JS.AST_SymbolVar){ 

        无功节点.push(结); 跨语言.push(结.name); } }));

        AST的代码.walk(new 丑化JS.TreeWalker(function(结){ 

            if (结 instanceof 丑化JS.AST_SymbolRef){ 

                if (跨语言.indexOf(结.name) != -1) {

                    参考节点.push(结);

                    跨语言.push(结.name);

                }

            } 
    }));

    跨语言 = _.uniq(跨语言);

    console.log("翻译中");

    翻译工具(跨语言.join("\n"), function(E, 结果){ 

        翻译对象 = 结果;

        无功节点.forEach(function(结){

            结.name = 翻译对象[结.name] || 结.name; });

            参考节点.forEach(function(结){ 结.name = 翻译对象[结.name] || 结.name; });

                回调(null, AST的代码.print_to_string({ beautify: true })); });

};
最后修改:2023 年 11 月 24 日
如果觉得我的文章对你有用,请随意赞赏