为什么中文不能用来编程呢?编程一定用英文吗?

为什么中文不能用来编程呢?编程一定用英文吗?

门外汉突然好奇为什么编程都是用英文?中文不行吗?想学编程要先学英语吗?

  • 回答数

    19

  • 浏览数

    4,530

19个回答 默认排序
  • 默认排序
  • 按时间排序

谁说中文不能去编程?中文也是有编程语言的。大家可能不知道有一款编程语言叫做易语言,他也是用中文来编写的,它诞生的时候是十分的,也很抓眼球,但是他没有走好,发展的也不壮大,以至于很多人都不知道还有这么一款编程语言。


中文是可以编程的,只不过目前对于我们来说,中文编程还是比较的麻烦,为什么这么说呢?首先,我们的键盘都是输入我写字符和字母,而电脑里要显示中文,必须通过这些字符和字母进行一次转换,也就是我们的这些输入法。对于程序员来说,你能用字母来完成的事情为什么还要再转换一次,来增加工作量呢?这也是中文编程,不温不火的原因。


所谓编程语言,就是进行人机对话的一种语言。提起他只认可101010这种二进制的代码,最早出现的就是机器语言,因为机器语言太难控制了,后来出现了一种过度的语言,叫做汇编语言,汇编语言比机器语言要来的简单,但它也属于一种低级语言,后来的高级语言的出现,就是把人们常用的语法和机器语言进行近似化了。编程语言的发展是越来越简单,也越来越接近人的正常的语法。这是一种大的趋势。


根据这种趋势来分析,以后,中文作为一种编程语言也是会在编程语言的世界里占有一席之地的。一般不会在现在这种键盘录入的时代。


中文作为一种编程语言,我估计会在下一个智能输入时代,那时候语音,手势可能会作为编程的一种模式。中文到时候会大行其道。


取消 评论

不能,英文也不能。任何一门自然语言均需要变成逻辑语言,然后才能用于编程。

取消 评论

我们首先要从电脑程序运行基本说起。电脑本身只能识别0和1组成的机器码指令,为了方便对机器代码的记忆,人们就用英文字符代替机器码。例如x86的指令mov,对应的机器16位代码0x88, 二进制代码10001000。这些英文字符的集合就是汇编语言。汇编语言是最接近机器语言的编程语言。高级语言,例如c,java等等,都需要用编译软件把他们的代码编译成汇编语言,或者用汇编语言来对代码进行解释。前者叫做编译型高级语言,后者叫做解释型高级语言。无论那种高级语言,在机电脑上运行最终只能是机器码。在电脑编程语言的发展中,大部分都是英美研发和设计的主力,所以都是英文作为基础,所以编程语言都是英文的。


其次,电脑的发展都是英文系统先发展。中文系统相对比较落后。早期的电脑系统都没有中文,还要专门的硬件和软件来进行汉化。早期有什么汉字卡,南极星、中文之星等汉化软件。而且早期的电脑的内存小,按照k计算的,不像现在是按G计算的,英文就26个字符+符号就能解决输入,而汉字系统一二级字库就要200多k,极度不方便。所以一直未有汉字做为编程的语言出现。


其实中文是可以用来编程的。编程语言都是用关键字来做代码的。关键字可以汉字来代替。例如if,就用如果,while就用当,函数printf就用打印,等等。不知道有多少人玩过中文的logo语言,我小时候玩过,在apple ii电脑上,全部指令都用中文拼音代替了,例如repeat,变成了chongfu, 蛮有意思的。


我觉得用中文编程还是英文编程,就像用c还是java一样。关键不是编程工具本身,而是要实现的功能和算法。


取消 评论

首先,编程是可以用中文的。只不过大部分的编译器都是外国人写的,国人写的编译器寥寥无几。那怎么用中文编程呢,其实很简单。



为什么中文不能用来编程呢?编程一定用英文吗?


比如用中文编程,打印hello world,那可以把所有的英文字母,英文字符替换成中文的。同样能够用文中编程,实现打印效果。替换代码如下:


QString tmp = str.replace(主函数, main).replace(整数, int).replace(。, ;).replace(开始, {).replace(收工, }).replace(打印, printf).replace(返回, return )。


其他中文的编译器实现原理跟这个差不多,都是借助现有的语言,转译成中文。易语言就是如此,他就是基于汇编、C/C++写的。


为什么是这样的结果呢?主要原因是编译器是在特定的操作系统上集成的,而操作系统都是用英文写的,他可不认识中文。我们没有自己的操作系统,而一个操作系统是非常庞大的工程,他可是历经了几十年、几代人的心血才铸建而成的,并且至今都在不断的更新与优化。


美国人可不会为了我们而兼容中文,即使愿意,这工程也非常巨大。那只能是我们自己写一套操作系统,那就得花上几十年、几代人的努力才行。


花上几十年的精力写个山寨版的操作系统有必要吗?谁来写呢?那已经用惯了美国人那一套的人,又得花精力去学我们自己的操作系统。我们有自己的操作系统之后,总不可能不用别人的东西了吧。别的国家都用英文,就你自个儿在那闭门造车。所有还得相互兼容。额,想想就害怕。


即使这些都实现了,但中文编程也不好用啊。虽说我国语言博大精深,但很明显在编程这件事上,英文看起来更简洁,而且他们可以用26个字母随意拼凑。但是我们不行,我们笔画可不能乱涂乱画,什么笔画特指什么语义的字都是规定好了的。汉语一语双关的现象很平常,但是计算机听不懂,所以只能把话按长了说,避免语句重复。


再退一步讲,现在的C/C++、JAVA等编程语言历经几十年的发展,已经是相当成熟了。虽是用英文写的,但都是些简单的英文,而且命名都是约定俗成的,地球人都知道。


取消 评论
什么易语言之类的软件只不过是吧我们懒得见得东西翻译为中文,其实内核还是英文的。用中文的我反而看不惯了。
取消 评论

pqud05c0f8 编辑专家

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


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


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


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


取消 评论

rl94pu 特聘专家

手机发烧友

我来写一个中文的编程语言吧。

为什么中文不能用来编程呢?编程一定用英文吗?

取消 评论
x86就是没中文。有的都是翻译汉化的。
取消 评论
加载全部19个答案 加载中...
ZOL问答 > 为什么中文不能用来编程呢?编程一定用...

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

为什么中文不能用来编程呢?编程一定用英文吗?

点击可定位违规字符位置
提示

确定要取消此次报名,退出该活动?