中文编程慢?

作者: 中文OS分类: 计算机技术 发布时间: 2021-05-21 14:44:18 浏览:88935 次

中文编程慢?

互游云:
中文编程的最大意义所在:看母语文档更加流畅,从而提高编程时的开发效率。 在座的程序员有多少是面向CSDN编程、面向百度编程? 大家如果考虑到运行效率: 编译语言会被编译为机器码,只要编译器不拉跨,与英文敲写的代码没有区别。 脚本语言:中文可以用一些更简单的字符实现关键字,我们找两个短的英文编程中用的关键字:如:“if" 中文可以用“若”来表达 "else" 可以用"则"表达。 一个汉字可以标识若干字母意思,虽然在存储时一个中文汉字要占用2字节甚至在某些编码中要占用3字节,但解析起来并不会比英文编程慢多少。 再说到不少B站网友提到的易语言:楼主10年开始用易语言做一些小工具,精易论坛精华榜排名第二,可以说把大家能踩到易语言的坑都踩了一遍。 和现在的各位一样经常吐槽易语言bug多,但换了正版易语言后许多奇怪的BUG都消失了,易语言IDE本身的BUG有不少是盗版触发暗桩导致的。 吐槽易语言:不支持多态,项目源码是一个文件,类传递默认深拷贝,只能写32位程序,string只可以存放ANIS编码。回看易语言更新史,一个语言十几年没有大的更新,编译器2021年了还在用VC98,原作者吴涛自己放弃易语言去搞C++汉化(火山编程),这种背景下易语言如果还能用着特别舒服就怪了。

【回复】易语言如能开源,估计会有不少热血青年给他添砖加瓦,贡献智慧,应该会比现在好
【回复】但是你不得不说,易语言的官方确实是有一点的问题,首先应该是在官网上找不到一个零基础教学,其次一个是他给的帮助文件里面的,实例过少,而且原理也解释不是特别清楚,也就是说,它在用户对象上选择的是有一定其他编程语言基础的人,而不是绝对的新手。
中文OS:
现在vscode有中文的插件(叫中文代码快速补全),大家可以去试着用一下,如果想要视频中的这种修改过源码的软件。也可以评一下,我后面建个群,分享出来。如果没人要就算了

【回复】回复 @中文变量编程 :群搜不到了,想进
智博科技007:
我不支持中文编程,别搁这扯什么爱国用中文开发中国自己的编程语言之类的。哪个好用用哪个

【回复】起变量名容易,很多项目变量名几十个字符,中文可能十个以内。另外,代码文档化能力强。
【回复】首尾矛盾,如果中文编程好用你是不是就用中文编程了,当然我也希望中文编程有好用的一天
【回复】回复 @猫食记 :一看这话就知道你不是搞计算机的,计算机底层机制都能很好地支持英文,因为机器语言之上是汇编层。存储效率来说也是英文最高,ASC码字符只要1个字节,一个汉字字符要两个字节。哪天编译器能和支持英文一样支持中文,而且时空开销还小,那中文编程自然会成为主流,但是目前至少20年内不会。
9Re烦恼:
主流大厂适应各方面需求 如国际化团队 开源项目 都是用英文来编程的 再者各类开源项目都用英文 自己用英文学学单词呗 你用开源项目又不是什么都又中文文档 中文文档也不是最快更新 自己做什么都无所谓

【回复】哪有什么中英文编程,不就都是一堆字符定义变量而已
【回复】回复 @常读书以改命 :中文不适合编程 首先中文的占用就比较大 其次中文的单个意思表达的较多 其次计算机的机器语言是2进制 直接用英文 或者拼音创建高级语言比较好 如果想用中文去超越现在的英语这一类的高级语言 那得自己去研究机器语言 不然就始终是建造在其他语言上然后转义 其次现在网上说华为要发布中文编程语言 这不是开玩笑吗 编程是面向全球化的 全世界都学的英语 汉语暂时还没那么容易学 不可能写的代码全是中国人自己弄
【回复】回复 @常读书以改命 :那建议你所有程序命名都随机一堆字符串
酸奶不含糖:
那你是没遇到过你的代码运行环境的编码格式不一样的问题[doge]你的中文代码可能是utf8的 但是换到别的电脑上一打开全乱码一看人家用的是gbk或者gb2312这时候你就傻眼了

【回复】我靠,这种问题都解决不了的,还配称程序员?
【回复】以前写的软件大多是ansi编码的,修改系统语言后确实会出现乱码的情况,但现在如果要开发非英文的软件可以选择unicode编码了
【回复】我可以自己写程序一件转换所有文件的编码,判断编码,一秒钟搞定,只有半桶水面才不知所措,况且我不是程序员,只是服务员
翻转吧狗蛋:
编程爱好者用你这样的中文命名未尝不可,如果是真的想对编程有深入学习甚至考虑用它来工作赚钱的话还是尽早学习英语比较好,为什么这么说呢。 编程对于我来说的乐趣在于: 学习到新技术,用学到的技术做出小工具、项目,用它赚钱。 而学新技术最好的方式当然是阅读官方文档,可是现在主流的技术又有几个官网是带中文的呢。比如Java中的SpringBoot,mybatis,docker,Kubernetes,redis,kafka等等等 当你碰到一个问题死活百度不到,看到的都是CSDN互相抄来抄去的博客,突然想到为什么不用google搜索一下,发现stackoverflow还真有对应的办法解决,可惜是英文你看不懂。 当你想研究一下技术ZGC的原理The Pauseless GC Algorithm,发现对应的作者写的论文是英文,你还是看不懂,那就会大大的打消你的积极性。 当你发现之后有家外资工资福利真好,但是需要能够独立阅读英文技术文档,全英文办公,可惜你只会csdn,百度,需求都读不明白。 越是害怕英语,英语就越是折磨你。

【回复】回复 @SYSTEM-Edge-666 : [脱单doge]那你就会碰到这样的翻译: 把"endpoint"翻译成了"终结点" 把"annotation"翻译成了"注释" 把"stereotype"翻译成了"刻板印象" 把"bean"翻译成了"豆子" 把"unique index"翻译成了"独特指数"
【回复】Edge浏览器有翻译功能[脱单doge]
【回复】我是个新手,有什么不懂的我就上CSDN搜索,但是,我扒了很多才找到我想要的。
斯坦利库-布里克:
做积分不用积分号用别的表示可以吗?当然可以,但是如果你是个fw,用什么你都积不出。你的逻辑思维能力太差,而不是因为你不认识那拉长的I是个啥玩意。编程是脑力活动还是体力活动那就见仁见智咯。

【回复】对的,我大学学了微积分之后最大的感想就是放开了逻辑思维,纯粹地把微积分视为一个工具去解决问题
猫食记:
入门难度的降低,可以让更多人有学习编程的意愿,可以大大的增加中国程序员的规模,还踏马有说麻烦,慢的,真真的沙币,和当年说中文麻烦取消中文的沙币一样,让他们主导社会,中国永远不会进步。

【回复】回复 @猫食记 :不,你需要意识到的是,表面上门槛是英文,实际上门槛是算法,也就是数学。有了算法之后编程就很容易实现了,就拿一个简单的全连接来看,里边全是数学公式。就只是一堆偏导而已,激活函数也是数学公式,bp算法也是数学公式。这样一个全连接反向传播三次,用手算要半堂课的时间,计算全程没有任何中英文字母。 如果这样你还觉得门槛是英语,那就当我这么一大段例子没说,你拉黑就完事了,省的我动手谢谢。
【回复】其实光是编程语言语法根本卡不住多少人,难度在于数据结构和算法,操作系统这些。不是处处文化优先就能进步,比如微积分,清朝还是中文,现在还不是改成英文了。
【回复】嗯……其实有一个类似的情景可以说明为什么这个想法是有问题的:如果我们把所有数学符号换成文字描述,数学问题会变简单吗(
爱啃骨头的小兔兔:
我也是用中文,但截图到群里总是少不了说中文不好的人,用qt用到的组件自己继承,提升组件,全部中文化[藏狐]用多了根本不用去翻文档随手就打出代码了[藏狐]当然我不是程序员,不用为了国际化迎合别人[藏狐]

【回复】因为你不是程序员,所以你不懂得用中文编程会出现什么样的结果。
【回复】中文的出现降低了入门难度,很多人想法是,我擦,我学这么久英文,你给我整个中文?不行!必须用英文,什么垃圾中文,不能用,麻烦,慢,不好,就是看中文不顺眼!必须给我用我学的!
【回复】回复 @翟币什么时候发行 :所以考虑过同义词的问题吗,英文编程和中文编程的区别又是什么呢,请你来回答
星雨小郎君:
众所周知,ASCII码塞不下汉字,所以需要多次转化,在编程软件里会造成更多更多麻烦。而8位ASCII码正好是最小储存单元,发现问题了吗?现有计算机结构完美适配英文。要想中文编程发展起来必须要对现有计算机标准进行大改。8位二进制存不下汉字,那就用16位,最小存储单元也改成16位,直接从硬件层面解决转化上的问题,当然这不是一个程序员能解决的。中文编程搞不起来的原因是没有对英文编程的软硬件企业抽税养研发者,重赏之下有人会去改变原理。

【回复】编程你用啥文字都一样的,最后通过编译器转换成机器码。编程永远是难在数据结构和算法这些数学相关的,编程语言找本书看完出来就能当码农面相搜索引擎编程了。还有就是一些包的说明文档对于非母语的人而言有点难啃
【回复】并不存在你说的问题,编译器本身不识别文字含义,只考虑词法语法,词法语法分析以及这个过程的处理对象都是特定编码的机器数,相同语义的高级语言源程序,编译后的可执行程序的执行速度是不受影响的。 那么区别在哪呢,常用字符集的英文rune长度一个字节,中文rune一般2个字节或以上,这导致编译器在处理的时候有了区别。但中文言简意赅,可能两个中文rune就能表达好几个英文rune的含义,这又导致编译速度差异又不大。
【回复】真正影响的,其实还是生态。 整个计算机科学和软件工程技术在开源的温床下蓬勃发展,而中文编程,从使用量上讲,从汉语英语的流行程度上讲,很难从现在的开源社区中受益,也就只能由爱好者们自己玩一玩。构建一个完整中文编程生态的开销,远大于学习英文了[笑哭]。
yjmfkl:
要易读易懂有时候命名得长才行,用英语也一样,很多时候越接近自然语言越长。缩写或者简写能变短就是阅读理解可能变难。比如int,integer。整,整数。要是用'整数型变量'是不是更容易看懂。至于中英文占用空间和输入看情况吧。if,如果,若。class,类。CreateWindow,创建窗口。中文有的可以打首字母加空格,英文大小写也不省事。

【回复】有没人试过用自然语言描述自己设计的代码,或者说把设计的代码用自然语言来描述。
【回复】要说用中文搞程序设计省事还是费事应该看使用状况,看这套程序是英文省事的部分用的多还是中文省事的部分用的多。
【回复】这是命名风格问题,与中英文无关[吃瓜]
yjmfkl:
计算机专业现在有没有机器语言课程。了解过机器语言应该不至于认为汉语不能编程。

【回复】用个比较简单的CPU了解它的机器语言,了解它内核集成电路的工作原理应该容易点儿。
【回复】你说的是一门叫叫做汇编的课程吗
【回复】回复 @bili_322243624 :也可以说是指令的二进制编码。
哼哼哼哼哼_h:
这种,把编译器的关键词全换成中文真的配叫中文编程吗?英语分关键词是因为它们的预言本身就是个个带空格方便分割,中文和英语完全不一样,你真要搞中文编程哪能跟它们一样啊?文学编程才更接近中文编程

【回复】回复 @小李电子店 :你的类比不对。替换关键词这种行为相当于在外国车上弄了一层中国喷漆,其他什么都没改动,你觉得这个配叫做国产车吗?
【回复】为什么不配叫中文编程?国产车也不是要6个轮子,才配叫国产车吧?
【回复】回复 @中文OS :c++ 写操作系统有点绝 还是c加汇编好一些
m雅婷m:
不是说英文编程不能用中文变量吗?你是怎么办到的,求教程

【回复】主流语言都支持utf8变量名,理论上可以用任何语言的文字编程
不好吃的千代酱:
看到很多人要么是说中文编程怎么好,又有些人说效率的问题,像up一样只是简单的标识符中文,基本上所有主流语言都支持,那么问题来了,为什么其他国家的编程就没有用他们自己的语言做标识符呢,基本上变量名这些用英语算是一条不成文的标准了,因为这种根本就不是所谓的中文编程,依旧遵守着语言本身的语法标准。真正意义上的中文编程是使用汉字的表意去创造新的,容易理解的语法规则。而不是仅仅使用中文变量名。github上很早有一个文言文编程的项目,那应该能叫做中文编程(虽然开发效率很低),但他确实做到了不是替换变量名和关键字,而是依据文言文的语法创造了适合的编程语法规则,以后如果能在此基础上发展,中文编程也不是没有可能,也不能完全否定,至于像up这样的,自己看的舒服就好,如果公司的项目允许你这么干 【但我希望up能不能用#define把void int这些关键字也替换一下,更好看】[doge]

【回复】这么做是挺好,你想想,一个零基础小白想学编程,嫌英语太难,然后国际大企业为他自己弄了一套中文的编程工具,然后学了两天,说哎呀太难了,我不学了[妙啊]
【回复】回复 @暗部真暗 :现在手机出了一个结绳优化还很好,虽然是安卓的,但是用起来还行,我打算等ai能熟练所有编程的时候玩
【回复】回复 @shsjjdjsj :我知道,易语言,不过从编程的角度来说,程序的主要目的是实现功能,只要能满足这点,程序用阿拉伯语写我都接受
琼州没有冬天l:
中文的动词跟名词写起来有时候会有歧义 重构 单凭这个是真看不出动词还是名词(虽然说原型跟上下文都可以告诉你)但我认为这是个缺陷 可读性有时会比较低 但是中文编程以后会有机会变好 但是现在 它真的是个fw

【回复】回复 @一水久钟 : 你这种命名方法感觉大可不必[吃瓜]
【回复】动_变量名,名_变量名,用标准下划线命名法啊
东方孤思子:
与其折腾变量名,还不如在文档汉化上下点功夫。好多专有名词都没有合适的翻译,越新的概念这个毛病越严重,这个是需要长期投入的。实际上用中文编程的好处基本都可以用注释实现。要说省时间也就是省想变量名的单词的时间。

IT 程序员 编程 中文编程 码农 代码

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!