提倡中文编程为什么总遭到程序员嘲讽?

阳光空灵


虽然我是个只会写if,else的小辣鸡,但我也尝试回答下吧:

1.好好搞懂计算机原理就不会问这个问题了,底层都是英文国家的人搭建好的,从一出生开始就是为英文在服务,连键盘都是英文的

2.基于1,导致使用中文编程,中间仍然要先转化为英文,若不是,参考3

3.if两个字节,如果四个字节,浪费储存空间

真一天叫嚣着要中文编程的话,不如重新建立一套计算机体系去?


空腹喝烈酒


这个“五加二等于七”的例子,完全没有说服力。如你所言,英文编程同样使用阿拉伯数字和通用数学运算符号,而不是用英文自然语言的“five plus two equals seven”。

喷中文编程的声音虽然很嘈杂,但仔细总结下来不过几种套路。之前写过一篇专门进行针对性回应的文章,有兴趣的话可以整理后再发表出来。

关注本号“用中文编程”,敬请期待。

这里要科普一下,多半开发者还不知道绝大多数常用英文编程语言早已支持中文命名标识符,比如 Python3 的开发团队在2008年开始就从用户社区反馈中意识到,非英语母语的开发者希望用母语命名,因为这样可以提高代码清晰度,更易于理解和编写。

所以那些否定母语命名意义的,请先去这些语言的开发者社区嚷一声“Unicode命名没有用啊,删去这个特性吧”,就等着其他非英语母语的开发者们出来打脸吧。

或者,试试把下面这些用中文命名标识符的代码改成英文命名。代码可读性不比不知道,用过中文命名的就知好处。

Java

SQL

TypeScript


用中文编程


提倡中文编程,和想要一门中文编程语言的人,9成都是菜,以为把英文换成中文就容易编程了。认为喜欢英文环境编程的人是怕用了中午之后大家都会编程了。 有这种思想的人,连为什么自己水平差都不知道,这根本就不是一个语言问题能解决的。。

计算机的经典教材,名著都是国外的,前沿的资料都是英文的,最火热的开源社区也全是英文环境的。

如果一个人从菜鸟变成一个计算机行业的大神,必然是看了无数英文资料慢慢成长来的,这种人早就悟透了想要变强,英语就是一个必经之路,而编程语言里面那几个单词都能成为绊脚石的话,这种人最多也就是个培训班水平。 看再多的国内教材国内资料也只能算是吃别人剩下的东西,质量不仅差而且旧。

编程讲究生态,就算有中文编程语言,一堆菜鸟在用,能产生什么生态,本来中国的优秀开源软件就没多少,更别说用了中文把整个外国开发者全都拒之门外的闭关锁国式开发了。别做梦了,就算中国的大神写的开源项目,参与的开源项目,也是在github上全英文的。

有了中文编程语言,有第三方库可用吗?

openssl boost dpdk 等等这些库是不可能再造一遍轮子的,因为菜鸟写不出来,大神不屑于再发明一遍这种轮子。

所以鼓吹中文编程语言的人,多提升一下自己吧,真正有实力做一款优秀编程语言的人,如果知道自己的潜在用户只是一些英文变量名都是障碍的人,那他一定不会费力做这么一个东西出来的。


冰封灬飞飞


作为程序从业者,说点个人见解。

1,用英文是历史原因;

2,编程环境生产使用的都是英文的,包括运行系统。

3,程序生态是英文的。

4,程序上语言只是符号,因此,不论你用什么自然语言来表达,只要编译器能转换,都是可以的。

5,为什么中文编译只有小部分应用(如已知易语言基本用在做外挂,不算行业内): 编程要的是无二义性,这方面这些年全世界花了很大代价才形成目前状态。如果是中文,同样一个‘花’,在不同语调,语境下有丰富的含义,这时就需要其它东西来辅助表述,从而带来更多复杂度。一般程序需要用的是不到100个关键字,越少就越易形成生产力,当然前提是无二义性。这符合中国传统哲学,阴阳可涵盖一切,电信号本身0和1是阴阳理论在电相关领域的实际应用,这个是发明人本身承认的,道理是相通的,原理是自然的。

6,从实用角度来看,不管白猫黑猫,能抓到老鼠就是好猫。从现阶段程序领域看,目前英文占据优势。因此,用何种自然语言,这是自然选择的结果。在合适的地方用合适的材料,并不是因为材料非得用最贵的,最贵的不见得合适。或许将来有一天,程序会用中文来写,但一定不是因为符号本身,而可能是因为社会发展,思维的需要了。英文背后是线性思维,中文背后是立体思维。其实,现在很多项目已经在用中文思维来解决更加复杂的问题了,只是表面用字母符号来表达而已,这也是当前甚至以后各领域中国影响力越来越大的原因。按照三体孙介绍的,是降维打击,我们不用妄自菲薄。

7,看尽千帆过,跳出此山中。不用太纠结于表面形式,寻找更深本质,或许会更好。

与各位讨论。


原语奋斗


提倡中文编程的都是不懂计算机的人,因为在编程时用到英语主要不是用到语言本身,而是26个字母,换成其它语言的字母也可以,数字、字母、符号这些是编程的基础,对应ascii码,在编码时比汉字方便,但最终都要转换为0和1机器才认识。你设置密码用1,2,3,a,b,c是不是比壹贰叁方便,数字和字母在键盘上按一个键就出来了,汉字要好几个健,就是编码的原因。


取名不符规范


不知道提倡中文编程的人,到底弄清楚了自己实际诉求了没有。

中文不能编程,同样,英文也不能编程。计算机语言是独立于中文和英语等自然语言之外的“语言”体系,有自己的规则和语法,只是这个语言体系的符号用的是英语字母,就有如日语里面也会有汉字一样。

回到这个问题上,所谓的中文编程,是希望用汉字符号替换掉字母符号吗?能提升民族自豪感?必要性在哪里?作为一个程序员每天熬夜加班头都秃了,当然希望计算机语言所使用的符号用键盘输入越简单,越快速越好!


awded


1、 语言机制摆在那,汉语我们的母语使用起来自然方便,但是作为编程语言,可能没那么方便,这里的编程指的是写代码,不不是拖控件那种GUI开发,比如"if()...else..."语句,用英文单词不会产生歧义,汉语博大精深,“意思”的意思不用说了吧,就比如说代替前面的"if()...else..."语句,可以用“如果……那么”,亦或是“假如……就”,反正怎么都能翻译,但是高级语言写的代码是给计算机理解的,不允许产生歧义。而且用英文写代码更简洁不是么;

2、写过代码的人亦或是了解计算机基础的人,大概了解操作系统,编译原理等知识,操作系统内核没有中文写的吧,当然可以封装接口调用库函数,你不损失性能么?

3、用中文编程不是不可以,而是没必要,你去利用利用计算机是解决问题,怎么方便怎么来,什么顺手什么来,包括编程语言的选择这些,工作中不可能一门语言你就能走向人生巅峰,做C++的项目中会遇到Java代码,做Java的做到高级工程师你不还得了解内存管理和指针传参么,Python也是一样,只不过有各自的适用场景和生态体系,没有好坏之分,做到后期,还是回到了操作系统,计算机网络等基础知识以及相应领域的技术体系。再说了,现在小孩幼儿园就已经开始学习英文了,有必要纠结单词么,毕竟英语还是国际语言,就算有理想封装一套汉语编程语言,怎么推广了?现在全球化,甚至就算用汉语写操作系统写出来了,大厂会用么。什么东西都有他自己各自的适用场景,主体是人,我们眼光不能太局限!


柚子树plus


因为中文编程本来就是个伪命题。会编程的人都懂,语言从来不是关键,思路,算法才是核心,如何用自己的思路将计算机调教好,才是王道。就跟老师教你二元一次方程,x+y=3,中文编程者只是想改成甲加乙等于三。难道换成甲乙丙丁解答起来就更顺滑?只是表象上换了个表达罢了。毫无价值。就跟讨论为什么没有中国的西餐一样,滑稽。


鹿见車


一堆回答,都是长篇大论。真的不想看你们发那么长的。大多都是门外汉在装高深。

中文编程,不是不能编,它可以。你要看它用在什么地方,用什么语言去编。比如写外挂,很多人用汉语言,谁能嘲笑它用的不对呢。再比如你用java,你用中文编程。首先人家的关键词都是英文,你又写英文又写中文,结构看起来就很乱。其次,JAVA是运行在虚拟机上的。每个变量都存在虚拟机里。一个中文2-4个字节,一个英文就一个字节。你全定义中文变量,就等于浪费内存。怎能不惹人嘲笑。最基础的都不懂。


BonjourBo


这就是个假问题,说中文编程前,我们需要理解下有英文编程这东西吗,这个世界上的编程语言都是利用了英文字母已经其他数学符号,而语法和英文完全不是一回事,也就是说根本就没有英文编程这回事。

现在市面上流行的不管是java还是Python,都需要专门的学习,而不是会英语就能编程。


分享到:


相關文章: