編程語言可以被中文化嗎( 二 )

#define 使用 using#define 命名空间 namespace#define 标准 std#define 主函数 main#define 返回 return#define 循环 for#define 系统 system#define 整数 int#define 单精度浮点数 float#define 双精度浮点数 double#define 》》 \u0026gt;\u0026gt;#define 《《 \u0026lt;\u0026lt;#define ( (#define ) )#define ; ;#define 加 +#define 加等于 +=#define 小于 \u0026lt;#define 等于 =#define 自增 ++#define 小于等于 \u0026lt;=#define 输入 cin#define 输出 cout #define 换行 endl主程序#include "英文转换中文.h"#include \u0026lt;iostream\u0026gt;使用 命名空间 标准 ;整数 一个整数 ;整数 主函数 ( ){ 输入 》》 一个整数 ; 输出 《《 "你好,世界!" 《《 一个整数 《《 换行 ;\t整数 和 等于 0 ;\t循环 ( 整数 计数 等于 1 ; 计数 小于等于 100 ; 计数 自增 )\t\t和 加等于 计数 ;\t输出 《《 和 ;\t系统 ("pause") ; 返回 0 ;}编译通过:編程語言可以被中文化嗎

运行测试:編程語言可以被中文化嗎

如果有一个足够强大的宏替换文件。能让你去全部使用中文进行编程,是否你编程的能力就能得到很大的提成?我觉得恐怕不是的。(PS:上面的宏替换没有解决问题在于,#开头这条指令不能替换,还有连续的中文指令之间必须有空格隔开,预计可能对类的时候还是得使用.而不能通过宏替换替换为。不能实现我上面说的类似“系统。输出”,如果还有其他问题望指正)
■网友
这是个典型的伪问题,内含的假设是现有编程语言是“英文”的。然而事实上现有编程语言不完全是英文的,而是英文符号化后的表达。换而言之常用语言的保留字大部分都是符号本身或者被符号化的简单英语,不应该提到语言障碍的层面来说。举个例子,学过微积分的都知道(ε, δ)来证明极限,其中有符号表示?对于所有,?表示“存在”。这个情况从未有人说过数学符号应当英文或中文化以降低门槛,因为符号背后只是个概念,能够简单表达最好不过。编程中的英语,比如if, while等东西基本上可以理解为符号,如果一个人不能这么简单的符号和概念迅速关联起来,反而还要通过自然语言才能形成联系,我看社会也不太需要这么一个程序员。人们从自然语言的使用中获得一些基本逻辑印象,并且用自然语言本身来标记一些逻辑概念,然而逻辑本身的规则是相通的。即使是计算机首先由中国人发明,大家也不太可能使用符号复杂的中文词来表示简单的概念(反正我很难想象用天地玄黄宇宙洪荒来做enum),更可能的是结合简单中文字加上新创简单符号来串起必要的逻辑概念。至于变量名,真的无所谓,比如我见过的一个写orm关联关系的程序员,英语不好,把所有的关联关系命名为ass,认为这可以简化association这个词。虽然懂英语的读起来很奇怪,不过并没有妨碍他写出不错的代码。
■网友
由于回复本问题一答主的内容严重超字(限制2000多),遂放到问题的的一级回答下,也与问题本身有关,望谅解!!
另有篇之前写的关于编程语言的思考,与问题相关,附在这里,感兴趣读者可自行浏览:
Tiger:为什么深入计算机科学领域(如编程)就绕不过英语呢?RE:李汪洋
关于回答1——编程的难点不能认为是编程语言为非母语的(英文的)
这个实在不能苟同,你的视角至局限在编程语言本身,才会有这种看法,包括你下面用「英文转中文.h」这类方式写代码,都是视角局限在编程语言本身才会有的验证例子。而真正要掌握编程,是要对一个生态熟悉的,对一个事物有亲切感的人往往要比没有亲切感的更容易了解并使用它。编程语言本质都一样嘛,觉得编程语言没必要本土化(英文变中文)的人的思路是:面包就是面包,再怎么用不同的包装也是个面包啊,反正都是吃的,味道一样;而且——易于交流,可不就是标准件利于批量生产降低成本,消费者可以买到实惠吗?(包装统一标准,做面包的都使用这种包装,你看看单件成本会不会降低若干百分比,和螺丝钉标准件一个道理)但反观生活中的实例,哪怕不细分到每个公司每类产品的具体包装,只需要看不同国家产品包装所使用的文字就能管中窥豹,为什么不全部使用英文呢?那么打开国际市场特方便,占据很大的文化优势哩。评价一句你这种看法:强调优势,而忽略劣势; 记得一个梗: 一位教授向他的学生提出了一个问题——我们的世界可不可以没有监狱(编程语言可不可以设计成中文)?他所有的学生乍听此问,各个摇头大呼:怎么可能?有人回答,如果没有监狱,那么强奸、杀人、放火、勒索等等罪行都不能得到惩戒,犯罪会越来越猖狂;有人回答,不可能没有监狱,如果没有,那么弱者将永远被欺压,个人财产、生命、自由等一系列权力都不能得到保障,罪恶将横行于世,世界将变成地狱;有人说,Are you kidding?你知道世界的犯罪率是多少吗?你知道本国受到诈骗、勒索、拐卖戕害的人有多少庞大吗?你知道由于种种罪恶的影响而自闭、自残甚至自杀的孩童、老人能绕地球多少圈吗?你知道那些因他人之罪而导致家庭破裂、心理扭曲甚至堕落为恶的事件每天发生多少回吗?实际上,正是因为法律不到位、执法不彻底,才会有那么多的恶人逍遥法外,有那么多的越狱事件…… 教授听了学生的回答,一一点评,每一个都给予了不错的评价,思考问题有深度、描述具象化、熟悉本国国情、饱含正义感……(这些评价用在这些发言上似乎没问题吧?)但是接着,教授顺着学生们的回答,又提出了另一个问题:为什么社会上的犯罪会那么多呢?(这才是前问的关键),于是他的学生们又从各个角度分析。有人说,因为穷人总是仇视富人,富人总是轻贱穷人,所以总会有矛盾冲突,那就容易引发类似抢劫、勒索、斗殴行凶之类的犯罪行为;有人说,因为有的人不能控制好自己的欲望,品德不好,看见美好的东西或者自己没有的就想占为己有,所以容易引发猥亵、强奸、偷窃等犯罪行为;有人说,有些人最初也并不是坏人,甚至有些人是迫不得已为恶的,比如某人的妻女被绑架或强奸了,那人怨恨报复,一怒将恶人给杀了,有的人因为亲属伤病而没钱治疗,就去抢劫、偷窃他人财物,也许并不是他本意,但他几乎没得选择…… 教授听到学生们的回答,感觉很欣慰,于是问了最后一问:有什么办法能尽量避免这些不幸呢?下面回答问题的学生又热情高涨,开始思考教授的新问题,可是这一次学生们举手的频率越来越慢了,热情也逐渐消退,由兴奋变成了深思,甚至带点淡淡的忧伤。这是他们的回答—— 我们应该构建社会福利制度,施行一些政策缩小贫富差距,使每个人至少吃得饱、穿的暖,有地住,那么偷窃、抢劫之类的犯罪会明显减少; 我们应该多建立一些学校,提高国民的教育水平,让他们从小就开始学习如何明辨善恶,养成良好的品德,那么他们长大后就有良好的价值观和创造财富的知识,那么他们就可以不以侵占的手段获得他们想要的东西,因为他们会自我道德约束,会用自己的能力创造出的价值与他人交换自己所需的,甚至会由于自身的魅力而吸引一些美好的人与事; 我们应该倡导人们的同理心,并在法律上体现,比如给那些犯错的人留一些改过自新的空间,法律不要一味的严苛,毕竟有些人是被逼无奈才上了贼船,如果我们给他们以宽容,感他们以真情,我相信他们真正悔过自新后要比那些没有犯过错的人能够更好的约束自己,甚至与人为善; …… 当所有的学生都回答后,教授静静的等了几分钟,这次他没有对学生们的发言再做评价,只是抛下了最后一问:现在你们对「世界没有监狱」是怎么看的?这一问,没有人再回答了,因为他们每个人心中都有了自己的答案。而毕业后,这一批学生大半走向了教育、政治、司法等领域,用他们自己的行动来回答多年前他们没说出口的答案。 读完这则故事,再回到我们本身的话题上来,我们是否有所发现?答主关于回答1的观点,正如将目光聚焦在「世界若不存在监狱将引发的一系列问题」,而没有将目光放在「如何做才能使世界不存在监狱」 关于回答2——中文编程语言没有被大量使用,是因为不实用,不利于交流等


推荐阅读