人文艺术 > 为什么很多人不喜欢甚至排斥用中文编程?

为什么很多人不喜欢甚至排斥用中文编程?

2020-07-26 06:19阅读(75)

为什么很多人不喜欢甚至排斥用中文编程?如下图,中文编程看起来清爽一目了然基本不需要写注释都看得懂,而英语编程一眼望去有点不知所措要是没注释十几行代码都

1

从事软件开发多年主要在浏览器内核,安卓框架,多媒体等领域研究的比较多,主要编程语言是C/C++ java等三种编程语言,对于易语言简单做了几个小功能,做了下尝试,从本质上讲差异不是很大,都是需要遵循一些语法细节,可能是用的时间短的缘故整体感觉还是怪怪的,主要是长期在英文编程环境下已经养成习惯,至于是不是中文倒是没有太大的感触。

说到对易语言接触时间也不短了,刚入行不久喜欢写一些技术博客,也算是结实了一些粉丝,和有些粉丝聊得比较多,其中一个人在研究易语言想通过易语言做注册机,从技术上角度不太喜欢玩这些看似很无聊的东西,架不住三番五次的劝说就多少了解一下易语言,然后看看如何实现,弄了没多久觉得实在无聊,就果断放弃了,纯正的程序员一般不太喜欢搞什么游戏外挂或者黑产之类的东西,但现在很多学历不高的人通过易语言在鼓捣这些东西,想从中谋取暴利,国家已经有明确的法律规定对于非法的游戏收益真要有人较真到底,还真是违法犯罪的事情。

有个同事讲过一个故事,有个人专门研究腾讯的一款游戏,然后从中获取了几百万的收益后来被发现并报警,由于但是立法还不太完善,在里面呆了几个月罚了点钱又放出来了,易语言诞生的年份已经不短了,当初带着极好的爱国主义情怀,喜欢有一个属于中国人自己的编程语言,虽然在内部实现上可能就做了一次转化而已,起码让一些英文不好的人能上手写代码了,这算是易语言最大的贡献了。

任何一种编程语言的诞生或者存在都是为了解决当时非常棘手的问题,然后慢慢的被大家接受,通过时间的积累慢慢培养了生态链,也就是大家常说的各种编程社区,然后一群志同道合的人在里面讨论这种编程语言如何来使用,如何来改进,如果是深层次的参与者慢慢加入到核心修改小组,不停的对编程语言的版本以及未来的发展趋势做贡献,现在主流的编程语言都是这么衍生而来的,社区力量的强大与否代表着当前这种编程语言的受欢迎程度,目前就国内的编程语言而言无疑java属于老大,在开源社区里面java方面的开源项目最多,这就是生态链,生态链的建立不是一天两天的事情,需要具备很多因素,还要跟上时代的潮流。

为什么很多正牌的程序员对于易语言不感冒?

1.编程习惯,绝大部分程序员已经习惯于英文字符的编程模式,切换成中文有诸多的不习惯,而且就编程语言的本质而言最终还是0,1的转化,中间做了一些转化而已,在执行效率上还不如英文转化效率高

2.生态链不够成熟,对于编程语言的使用者来讲什么编程语言最能解决实际的问题就采用谁,这也是生产力发展的需要,不可能为了追求狭义的爱国主义情怀就是采用一种编程语言,易语言的生态链体系哈有待继续的加强发展,毕竟任何一种编程语言都需要来自五湖四海的程序员来共同托起。

3.易语言在某些场景下还是受限,举个例子在服务端的并发性处理上就有点捉襟见肘了,不可能一种编程语言就一统天下了,这种需要强大的生态链支持,就目前状态而言易语言要走的路还是很长。

对于一个技术人员来讲,在合适的场景选择合适的编程语言,选择最佳的实现方式,毕竟对于企业来讲首先要考虑最短的时间内出成品,所有的企业的程序员都是遵从现实环境,真能解决实际问题的编程语言,本身就自带推广特性。

希望能帮到你。

2

for(int i=0;i<10;++i),用中文帮我写一下

3

需求:某个变量循环十次,每次的值都加1

java:for(int i=0;i<10;i++){}

易语言:循环体(整形 变量 等于 零 ;变量 小于 十;自增 变量)

首先我们来分析阅读性,假如一个外行人来阅读这两份代码,虽然不知道for什么意思,int什么意思,但我相信正常人至少都能看懂第一份代码i=0这一行吧;但是再来看易语言写出来的代码,循环体啥意思,我只听过循环,循环体是干啥用的?整形?整形变量?还是整形变量等于?都说汉语博大精深,在不使用逗号的前提下汉语的可读性理解起来就可以有很多种意思了。

我们再来看二者的格式,容易看出来其实易语言不过是相当于把英语全部翻译了一遍,翻译后的代码仅限于我能读得懂而非看得懂。再看一下,易语言的代码量比英语多了多少?

汉语是我们的母语,如果能开发一门易懂的汉语编程语言,那么我想这无非会大大降低我们的开发门槛。但是我们需要强调的是,汉语编程语言不是简单的“翻译”,我理解中的汉语编程应该是可读性高、理解容易。例如上面的例子,如果要我“开发”的编程语言来写,我会写成这样

条件循环(变量初始值等于零;假如变量的值小于十;那么变量的值每次加一”){};

这样的写法我相信任何人都能看懂读懂知道他的用法理解这个代码是用于做什么的。这才是真正的汉语编程。如果要只是翻译英文编程语言,那么我为何不直接学英文编程语言,我学会了英文编程语言也就意味着我的编程能力拓展性更高,毕竟现在市面上无论是已有技术还是新的技术都是英文写出来的

4

java程序猿一名,关于为什么不建议用中文编程的主要原因有以下几点

1.首先要从电脑程序运行基本说起。电脑本身只能识别0和1组成的机器码指令,为了方便对机器代码的记忆,人们就用英文字符代替机器码。

例如x86的指令mov,对应的机器16位代码0x88,二进制代码10001000。这些英文字符的集合就是汇编语言。汇编语言是最接近机器语言的编程语言。

高级语言,例如c,java等等,都需要用编译软件把他们的代码编译成汇编语言,或者用汇编语言来对代码进行解释。前者叫做编译型高级语言,后者叫做解释型高级语言。

无论那种高级语言,在机电脑上运行最终只能是机器码。在电脑编程语言的发展中,大部分都是英美研发和设计的主力,所以都是英文作为基础,所以编程语言都是英文的

2.因为编程最初就是用英文编辑的,而我们发现用中文编程,至少得敲两个键才能编辑,所以比起英文来说,中文编程就显得复杂了,也有很多不方便。在电脑的发展过程中,电脑首先是在英国和美国发展的,所以,电脑编程也是用英文的

重复造轮子的意义不大

5

这个问题,本人比较合适来解答一下。我的文化水平高中,英语非常烂。10年做自动外挂游戏工作室,苦于没有合适的外挂辅助,自己从零开始研究编程。起初学习了按键精灵和易语言,可以做一些小程序小游戏,又做了一些操作模拟脚本。后来学习了汇编,才可以做真正意义上的外挂。用易语言做了3年多中文编程,后来为了去上班学习了php,c,python,java,sql这些英语编程,开发过大型网站前后台,手机app,小程序微商城。其实编程用什么语言都是大同小异,除了个别语言之外用法都差不多。唯一的区别是用处不同、编译环境和编译器不同。可能和人先入为主的观念相关,几乎每个人学习的第一个编程语言都是英文编程,所以都很倾向英文编程,用易语言自然不习惯!而我,第一个接触的编程语言是易语言,自然对中文编程更有感觉!

6

大家好,我从97年开始学习编程,到今年20余年了吧,代码是写过不少。

看到这个话题我也来凑个热闹。

1、从语言的角度来说中文编程和英文,没有区别,无非一个用“如果”,英文用“if”罢了,其本质没有变化,还是用着老外的编译器,算不得中文编程,顶多算个汉化版的开发语言而已。

2、如果你每天真的要写上千行的代码的话,你会觉得频繁的中英文切换实在是太麻烦了,英文if只是两个键,中文要敲几个键呢。我最高英文打字速度是300,中文是120,说实话,我愿意用英文写代码。

3、现在的语言都是Unicode编码的,你可以用中文做变量名,编译器不会拦着你,但是同行会笑死你,鄙视你的。

4、目前所有语言大多都是老外开发的。所以你想查的资料,文档基本上都是英文的。

5、我希望有哪么一天咱们国家也能真能开发出自己的操作系统,数据库,编程语言,咱们自己的标准,大家一起努力吧。

希望大家不要再为语言而纠结了。

7

我写了20年C++,一直都用英文。还从没觉得不方便。现在仔细想想,这确实是个外行的提问!

1)首先得从教学说起。现在学校教的都是国外发明的编程语言,什么语言是中文呢?孩子学习时用的语言和编程思维方式决定了他们未来使用的思维方式。

2)其次工作以后编程一定是做产品,试问试问什么公司是用中文编程?

有人马上就会质问: 为什么大家不致力打造中文编程语言呢?我们来看看中文编程语言存活需要什么。

1)语言本身。机器需要识别,需要有中文编译器,开发环境,要能调试。语言需要有关键字,语法之类的,包括汇编支持。大家如果对硬件有了解的话,底层跟硬件打交道的仍然是英文。我们看汇编,显示出来的内容也都是英文。如果这从头到尾都搞一套中文的话,那我可以说你比比尔盖茨还要牛!比尔盖茨也只是做了这个链中间的一个环节的事情。我们都要做到的话,那基本上也就别整天纠结美国技术封锁的事情了。

2)库。这个多少人想过?语言不是独立存在的,必须有标准库。这个说起来就无边无际了。做标准库就得涉及到做的人,用的人,还有最重要的社区。说白了就是人气。也就是你没这个环境的话,库是活不下去的。中文库注定了是只能在华人圈里流行,也就是与世隔绝的。就今天科技发展的趋势来看,与世隔绝的能活下去么?

3)对接。编程不是为了自娱自乐,是要做出产品服务于终端设备的。说到设备有个人电脑,手机,穿戴设备,医疗,机床等等数以亿计。是都全搞成中文的?

也许有人非要抬杠说,我只是搞个表面开发环境中文的,其它一切的一切还是英文。那你搞它干嘛?哗众取宠?自娱自乐?非常荒缪!

最重要的是这个问题不像是回会写代码的人问的。大家如果平常在写代码,你会发现工作中的思维是英文的,中文编程环境反而会影响效率。不停的切来切去几乎不可能!

8

问些问题只有3种人,易语言使用或推广者,对编程狗屁不懂,披着‘’爱国‘’皮的喷子,其实在大多数程序员眼里,易语言可以说是垃圾。打个比方,如果把阿拉伯数字都换成中文大写,那你就是微积分高手了?其实易语言根本解决不了编程的语言障碍,反而因为中文字节远大于英文字符,造成程序莫名增大,编译变慢,语无法跨平台,兼容性奇差。除此之外,没有带来半点好处。另外对程序员来说,到底是打if else for 快。还是假如 否则,循环快,只要不是睁眼说瞎话,大家都知道

9

实话实说,我是没有接触过中文编程的,对中文编程届名气最大的“易语言”,也只是听说过但是没用过。虽然我本身是对中文编程是比较排斥的,但是出于“想评判什么,就要先了解它”的考虑,我还是决心体会一下中文之后,再来回答这个问题。

然后我找到了“易语言”的官网,看了一眼首页我就放弃了这个想法,本人对美丑的要求很严格。

对于中文编程,我就强答一下,说说我的看法。

首先,中文编程还是发展初期,语言生态不好。不可否认中文编程确实降低了编程的门槛,易语言在中文编程做出了值得鼓励的尝试。易语言目前的前景不是很明朗,易语言好像是2000年就出现了,差不多快20年了,我翻了翻官网,感觉很久没有更新了,而且社区支持并不强大,所以并不看好。顺便说一下【生态】这个问题,很多人理解这个词有一些困难,举个例子:比如安卓和Window phone,大部分APP都有安卓版本,不一定有Window版本,这就是生态的好坏。


第二,英文编程已经先入为主了,就好像我,做Java开发已经12年了,自学Python3年,这么长时间已经习惯现有的编程体系了,要切换成中文环境感觉完全没有必要。而且现在中文编程的生态又不成熟,所以不接受甚至排斥中文编程,也是很正常的事情。

第三,编程思想的重要性要远远大于编程语言。其实不用过分纠结于使用什么语言,编程最重要的是对事务的抽象能力,逻辑思维能力,和对不同的业务场景,可以采用最优方案的能力。如果有一天老板说:“从今天开始,咱们公司要用中文编程了,工资增加一位数”,我相信我很快就能学会的。


最后,每一种语言的兴起,都是因为可以很好的解决行业的某些痛点。比如PHP的兴起是因为互联网需要快速的编写动态Web服务;Java的兴起是适应企业级信息化,Java屏蔽了指针、内存、垃圾回收等等,可以在短时间内写出大规模的程序;而易语言,好像解决的是“想编程但是不会英文”的问题,至少在编程行业内,我们是不存在这个痛点的。

总结一下:

  • 中文编程的生态圈不好,短期内不看好。

  • 听说很多外挂都是用易语言开发的,终于知道为什么熟练掌握易语言的人挣钱都多了(不提倡,犯法的)。

  • 不要打着爱国的旗号去推广产品,把东西做好了才是真正的爱国。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

10

既然觉得要用中文来编程,是不是连编程语言里的符合、数字也要换掉?用“大于”代替“>”,用“壹”代替“1”?

所以说凡是提出这种论点的人都是不懂编程的人,这种外行人瞎胡闹的举动很令人厌恶与恶心!

首先,我们要知道计算机技术国外是领先于中国的,他们有着最新的技术,也有着第一手的文献资料,也有着最牛的程序员。

而这些资料大多都是英文编写的,这些程序员对于技术上的交流也都是英文。所以英语对于编程来说仅仅只是为了让程序员能更好更快的接受第一手资料,与编程本身其实并无太大关系。

其次,编程语言是一门同自然语言完全无关的语言!它不是汉语,同样也不是英语!

计算机本身只能识别0和1,最初的程序员纸片打孔编程其实就是在模拟这种0和1的输入,可想而知这种编程的方式有多麻烦,多难记忆,多难推广。

于是科学家发展出汇编、c语言,继而各种高级语言来简化编程。可以说,编程语言越高级就越接近自然语言,也越便于理解、记忆、推广,但它本质上依然不是自然语言。

说白了,编程语言就是用特定的字符代替特定的0与1组成的串。例如,假设if代表00001101,那用“如果”代替00001101也行,哪怕你用“刘德华”这三个字代替也行!只是说计算机源于西方,所以就刚好使用if代替了00001101。

而像if这样的字符,也就是关键字在一门编程语言里并没有多少。假如一个人说他因为记不住或理解不了这些关键字而无法学会编程,那很抱歉,他也真的不适合编程,因为智商绝对有问题。

最后,我想说的是编程的真正实质其实是数学,是逻辑!