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

阳光空灵


计算机领域干了这么多年,我还从来没见过哪个员工因为英语问题而影响了编码……所以从必要性上来讲,中文编程语言的意义真不大!

初级的程序员学编程语言,没学过的看不懂。

中高级之后,编程语言也不是什么问题了,即使没学过,看看书一周之内应该可以产出了。

编程的精髓在于思想,编程语言尚且不是我们考虑的问题,而字母究竟是英文的还是中文的又算什么问题呢。


飞鸽永久凤凰


中文编程并不是不行,但实在是费力不讨好呀!

咱们来说说为什么中文编程不受欢迎。


从易语言来看,中文编程逊色在哪里

除了C/C++,java,python这些语言外,确实存在一种中文的编程语言,就是易语言,易语言的年代有些悠久了,最早可以追溯到2000年,虽然发展到今天有了一定的规模和用户基础,也有一批忠实的“易粉”,但始终没有流行起来。在2018年“最受欢迎的编程语言”中,压根就看不到它的影子。。。

也并不是只有2018易语言名落孙山,易语言的劣势也是中文编程的劣势,究其根本主要集中在两点:

  1. 中文编程极占资源;

  2. 市场需求小。

我们先来看第一点,主流的编程语言都是英语,再复杂的英语它也只有26个英语字母。但汉语不一样啊,常用的汉字足足有7000多个,还有字形结构。学过计算机的朋友都知道,汉字的内码很占内存,一个汉字2bit,一个中文标点3bit,做一个完成的项目要比纯英文的代码量大很多。这和软件开发代码精简的需求背道而驰,加大了CPU的工作量。

再说市场需求,在所有的招聘平台上,嵌入式方向的找C/C++的,AI领域的找会python和机器算法的,前端找会HTML5/CSS的,应用软件开发找会Java的。。。反正我是没有见到哪家公司明确表示会中文编程的。


没有市场,也没有需求,中文编程就是这么一个局面。并不是说中文编程不够好,我身边有学易语言的朋友,但初衷不怎么光明——他用来写外挂。

客观来讲,易语言确实很方便,也大大降低了学习编程对英语方面的要求。但真的不符合当下开发行业的环境,中文编程,小圈子里自娱自乐一下还行,放在大型项目开发商,实在是强人所难。


爱思考的奥特曼


这个“五加二等于七”的例子,完全没有说服力。如你所言,英文编程同样使用阿拉伯数字和通用数学运算符号,而不是用英文自然语言的“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,看尽千帆过,跳出此山中。不用太纠结于表面形式,寻找更深本质,或许会更好。

与各位讨论。


原语奋斗


我来解释下吧,其实很多人的程序,并不是英文的,而是拼音和简称的,不流行不代表不行,而是做基础工作的人很少,要用什么没什么,而且英文编程又不是很难,就那么几十个单词,还有补全,最重要的是中英文的标点符号不兼容,很多程序误输入中文标点是不行的!

但是,本人最近在做电控编程序,用的是程序块,面向对象的思维,就全部是中文的。

最终,你的变量会编译成存储空间,占用资源也只是源代码,运行没啥区别。

之所以不流行,是因为搞中文编程的人还没有领会中文的精髓,博大精深,例如勾股定理,沟三股四玄五,用表达式,用白话文,用数学要多大信息量才能表示?

其实,中英文在asc码里面,仅仅位置不同而已,要深入掌握中文精髓,中文比英文更有优势,尤其面向对象,更复杂运用,中文更能发挥潜能。


鞠躬车马前


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

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

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


柚子树plus


用什么编程有区别吗……每天吵着这个语言好,那个谁用的多。搞的程序员就跟过去的秀才一样酸,生怕别人说自己会的那门语言要不行了。计算机是一个系统学科,编程语言只是个工具,工具背后还有计算机的内在原理和设计灵魂,为了最浅显的争来争去也真是显示了我国的计算机软件水平……


计算理论


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


鹿见車


编程是一门与机器交流的语言,中文不适合编程主要因为:1程序语言起源不在中国,而大部分使用者又在国外,2中文语法灵活,英语则有效解决了语意歧义的问题,3中文编码标准过多,统一困难,4中文打字慢。

因此,那些想通过中文编程的人,要么是怀有以零英语和编程基础跨越过IT门槛的心态,要么是制造虚伪的民族自豪感。

郭德纲常说“相声行业是门槛在山脚下,进了门才发现要爬个山才能登堂入室”。我想说编程也和相声一样。

当开始学习编程,往往用C做敲门砖,进门后有C++,.net,数据库,Java,JS,PHP,Python,shell等常见语言可选择继续工读,还有大量小众的语言可供选择,每门语言都庞大的框架集和独特的语法,中文编程就是在这个小众语言圈里。这个阶段甚至需要几年才能精通某一门语言。

等过了语言关,还有架构关,中间件关,操作系统关,安全和网络关……直至所谓全栈开发,可惜的是,这个阶段尚没有支持中文编程的语言。

所以会编程只是爬山开始,但会中文编程只会让你在山脚下转悠。


分享到:


相關文章: