1. 聚能聊>
  2. 话题详情

如果我们的编程替换成中文会变成怎样?

首先大概的看一下中文编码:
screenshot
你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。最早的程序就是0和1的数字,不是中文也不是英文。以前的程序员,每天写程序就是在一条长长的纸带上打孔表示0和1。后来发现0和1的二进制太麻烦了,就把0和1压缩一下,用16进制表示,比如数字10,用二进制表示是1010,用16进制表示就是0A,这样表达起来就更简洁,但是输入电脑后,仍然要转换为二进制电脑才能明白。

后来,科学家们用简单的英文单词表示某些功能,比如加法,就用add表示,减法就用dec表示。程序员输入add或dec后,系统会转换为对应的算法。就这样不断的给不同的代码段起名字。编程语言就是从数字编码不断压缩提高层次,最后形成了当今的各种风格的编程语言。为什么码农会讨厌中文编程?我用最流行的易语言说明。

所谓全中文的易语言,其实就是把java语言中每个英文单词换成了对应的中文词,其他都不变。
比如java的代码是这样:

if(true)
    {
        System.out.println("OK");
    }

换成了易语言,就是这样了:

如果 真 那么打印 "OK"结束如果

任何人都能看出来,英文写的程序更简单清晰。

在以前初中,老师在上完课后教了我们有趣的易语言中文编程,那时候感觉很有趣
这是那时候写的一个截图程序
TIM_20180703105138

其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。
然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。

程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。其实现代的语言比如Java,都支持Unicode,也就是说可以用中文甚至世界其他语言做变量名和函数名,你可以试试看,这样看起来就基本上就相当于是中文编程了,对比一下英文编程,你就会知道哪个更好了。

电脑能识别的只是0和1的二进制而已,那么,如果按中文的角度来考虑,那么应该从核心开始就把二进制转换为8进制,然后用八卦来表示,这样从底层构造纯中文的计算机。八卦两两组合,演化为64卦,就能表达宇宙万物。这比老外的英文编程语言不知道高级多少倍。而且,满眼全是中文,老外就算认识中文字也看不懂意思,哈哈。

诸位看官
1.学过中文编程吗?
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
3.觉得以后中文编程会流行吗?比如幼儿编程等

参与话题

奖品区域 活动规则 11天后 结束

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    手机话费 x 3

  • 奖品三

    福禄寿淘公仔 x 1

76个回答

1

黄一刀 已获得阿里云代金券 复制链接去分享

1.学过中文编程吗?
没有,感觉没有什么就业前景,还有写起来好像很小白。
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
用拼音的我见过,用中文的估计编译器直接抛异常。
3.觉得以后中文编程会流行吗?比如幼儿编程等
主流估计是不大可能的,但是以后大学考计算机二级语言类的,估计会出易语言之类的中文编程,毕竟非计算机专业想考国考计算机二级还是有点难度的,不过的话有没有学位证书。

似水的流年 回复

现在c++ java中文变量支持的哦

评论
0

无访问权限 已获得阿里云代金券 复制链接去分享

1.学过中文编程吗?
没有,学的第一门语言是C语言。

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
没有,以后也不会。虽然c++和java可以用中文做变量名,但中文在代码中会显得突兀,影响整体美观性。而且用中文做变量名还很容易出现一些未知的bug。

3.觉得以后中文编程会流行吗?比如幼儿编程等
我认为不会。中文编程的可读性太差,现在的中文编程语言大都是强行代入中文,不适合编写大的程序,只能在小范围使用。
幼儿编程我认为也不会,都说幼儿时期是学外语的最佳时期,英文不是影响幼儿学习编程的因素,难度才是。幼儿编程应该是生动而好理解的,主要是培养编程思维,在英文编程为主的今天,中文编程优势不大。

0

巴洛克上校 已获得手机话费 复制链接去分享

1.学过中文编程吗?
你说你说的是易语言吗,学过一点点,比较简单全是中文的插件来回拖有点像Delphi,不过底层也是吧中文转变成英文吧,毕竟系统都是人家外国人开发的,中文不好用啊,

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?

都适用英文或者拼音,中文某些情况会出问题的啊

3.觉得以后中文编程会流行吗?比如幼儿编程等

应该不会,主流的依旧是英语,底子在哪里,除非你创造一门语言,用中文写一套系统,还要非常好用大家都来用,才有希望,现在小孩子都学英语的对于他们来说英文并不困难,况且中文打起来很麻烦,比起英文慢很多啊,不能说发明个中文键盘吧汉字全都写在上面吧上万的文字早起来也费劲啊,所以说中文不会流行的

话费话费话费

巴洛克上校 回复

补充一下易语言在某些情况也还是不错的外挂,木马……

评论
0

aoteman675 已获得阿里云代金券 复制链接去分享

1.学过中文编程吗?
感觉中文编程的效率比英文要低,特别是涉及逻辑算法,完全不适用。而且看久了中午编程会影响语文水平的,会造成语句不通后果。其实英文编程又不难,就是那几个标识符。
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
中文变量名没用过,虽然有些编程语言支持所有UTF8字符用作变量命名,但是没有这个约定成俗的规范呀,毕竟项目是大家一起维护的,项目组全部使用中文咯。
3.觉得以后中文编程会流行吗?比如幼儿编程等
程序员都是向国际接轨了,中文编程也要符合全世界程序员使用习惯呀,比如阿里巴巴获邀加入Java组织,制定符合中国人使用的标准。中文编程是门语言了,难道只让在国内使用中文编程吗?幼儿编程只是启蒙吧,比如小米的积木编程机器人,都是图形化的拖动编程。

4

美术影音 复制链接去分享

题主自己写的中文编程没有章法,看着乱七八糟,而且还用文言文编写.所以是无法看的.
另外对易语言不了解的请不要乱发表意见.说易语言不好的时候其实等同于说"PHP是世界上最好的语言一样"
另外科普一下:
1.易语言最新版有报错机制及代码巡查.已经很完善了.并不是你想的那样错了就看侦探小说.
2.易语言本身语言很简单,没有太多的函数要理解.
3.易语言很强大的就是他的上千个扩展库,可以随意调用word,浏览器,等等
4.易语言更强大的是他有上万个模块.每一个模块都有独立的功能特点.比如屏幕识图,内存检测,等等
5.易语言最强大的是他的扩展库和模块只需要拖进项目就可以用,无需其他操作,还都是单文件.
6.易语言究极进化的方向不是桌面程序开发,而是PC游戏辅助开发.你能下载的CF透视80%以上都是易语言写的
7.之所以网上流传的易语言操作不怎么好,那是因为从5.6版本开始易语言强制正版验证了,没有破解版,所以好多没钱的一直在用5.6版本,新版的特性他们都没用过.
8.对于像临时开发一个小桌面程序,比如qq群发,或者鼠标连点,键盘模拟等.还加上界面设计.用易语言从安装到生成exe只需要10分钟时间(代码熟练的人),而同等的VC./.net/java等是无法做到的.

和平指令:C/C++/java/PHP/e/都是最好的语言.

狐说 回复

不是没有破解版,是之后的版本的连接器还是比较旧的,出一个版本就有一个版本的破解版。

评论
0

嘉德game 已获得阿里云代金券 复制链接去分享

1.学过中文编程吗?
没有,我认为目前,中文不能用于编程很大的一个原因是输入慢,拼音-》输入法选择-》输入结束,而英文直接输入就可以了,要想使用中文编程,首先要解决输入效率的问题。键盘是外国人设计的,中文的五笔键盘个人是用不来的。
在用按键精灵的时候,可以用英文输入,也可以用中文模式输入,这是写脚本,中文用于理解,还行。
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
c++是可以用中文做变量名的,但是用了会被骂吧,毕竟中文还涉及到编码格式的问题,换个环境,就可能显示成乱码,可读性差。
3.觉得以后中文编程会流行吗?比如幼儿编程等
幼儿编程是指写脚本吗?如果是,可能会有提供代码段翻译中文的功能,便于幼儿理解,也会提供便捷的可视化代码插入,只要在输入参数,点击添加,函数就能添加到光标位置。但是我真的不认为会用中文编程。

0

微wx笑 已获得手机话费 复制链接去分享

1.学过中文编程吗?
很早就知道有个易语言存在,但是没学过。

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
没用过。中文输入起来不方便。
就好比现在很多人喜欢用Markdown,但是用中文写文章,还需要切换到英文输入各种命令一样。

3.觉得以后中文编程会流行吗?比如幼儿编程等
幼儿园就开始学习英语了, 所以没有必要。
幼儿开始学编程多数都是从积木开始的,不会上来就写代码。

0

尼古拉斯雷 已获得阿里云代金券 复制链接去分享

1.学过中文编程吗?
以前不会编程的时候,了解过一些所谓中文编程的工具,用起来还不如英文的爽,编程效率低、文档不齐全、编译问题等等。

中文编程其实没必要去接触,最多玩玩就好了,而且还不如流行的编程语言好用。

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
有,刚开始学JAVA的时候,因为好奇就定义了中文的类名、变量,没想到真的可以,还能运行。

3.觉得以后中文编程会流行吗?比如幼儿编程等
不太可能吧,毕竟使用英文编程,才是主流。
幼儿编程,最可能出现的是拼音编程。

0

海阔天空yy 已获得福禄寿淘公仔 复制链接去分享

1.学过中文编程吗?
没学过,但易语言出来的时候听说过。当时都是 asp,net,java统治天下的,所以也没去深入研究。
2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
自己写着玩过,也挺有意思的,就是比较累,打一个汉字要打好几个英文才能出的来,比输英文的效率还低
所以也只是停留的玩玩的层面
3.觉得以后中文编程会流行吗?比如幼儿编程等
幼儿应该可以考虑,毕竟不需要太复杂的话,还是可以的,而且还简单好懂
但程序员的话,如果低层技术不变革的话,中文编程还很难流行起来
从效率上看,打个汉字用五笔也要4个英文才能出来一个汉字,而且还会有选字的过程,这真的很难适应
要想有中文编程,除非中文编程的好处要远远大于英文,才有可能。

0

浮生递归 已获得手机话费 复制链接去分享

1.学过中文编程吗?
也看过易语言,还有scratch。不过看着就别扭,所以不会去深入接触。

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
最多也是用拼音,正常人怎么会在工作中用中文做变量名呢?不过,我单位还真有一个老牌程序员,写了十几年程序了,居然真的在用中文变量名,感觉好厉害。看着意思是清楚多了,但是从规范和效率以及分享、开源方面来看,真是不敢恭维。

3.觉得以后中文编程会流行吗?比如幼儿编程等
不会。中文不适合计算机。更不用说编程了。幼儿编程可以用图形来编程,对幼儿来说,学好中文都不容易了,更何况是中文编程呢。虽然现在scratch也是有中文的,不过我觉得这只是因为没有更好的工具而已。

3

一坨翔 复制链接去分享

学过e,感觉还行吧,挺有潜力的, 但很显然C或者java都不允许中文作为标识符→_→

2

一只风筝 复制链接去分享

一群不了解易语言的人对易语言的优缺点评头论足,非常可笑。
我学习易语言有11年了,易语言不适合与其他语言对比,是独立的快速开发语言。
摩托车和汽车,没有谁好谁坏,看使用在什么场景。

1

5504531778142467 复制链接去分享

用中文命名可以写出烂代码 不等于 用英文命名不会写出烂代码
用英文命名可以写出好代码 不等于 用中文命名不能写出好代码

1.学过中文编程吗?
学过编程, 主要是在各种项目中实践使用中文命名.

2.在目前的c++、java等编程语言有使用过中文作为变量名吗?
在现有语言/框架(Java, Javascript, Python等等)中实践中文命名, 详见知乎专栏"中文编程"目录https://zhuanlan.zhihu.com/p/30882225 "中文命名"部分

3.觉得以后中文编程会流行吗?比如幼儿编程等
会. 老少咸宜.

1

1223226131224524 复制链接去分享

如果 真 那么 打印“OK” 结束如果
😂可读性太差,
然而提升可读性会增加许多无用字符,应该会降低编译效率。
还是用英文吧~毕竟也看习惯了,读起来感觉很习惯,用中文写代码感觉别扭

0

1925313946432567 复制链接去分享

易语言吧,也挺简单的,但还是比不了C,功能比较少

冰封寒 回复

觉得少可以写一个外部拓展库哇

评论
1

1393686645155522 复制链接去分享

if(你妈妈){ echo "你妈"; }else{ echo "你妈的,那是我妹"; }
1

lvxus 复制链接去分享

作为一个半路出家的程序员,一开始接触的是java,一进公司就被公司的组长要求要按着书写规范来编码,就像一辆公交车,线路已经固定了,没有说要跳出这个规范,因为潜意识的认为这个规范就是对的;中文编程在未来我看也很难有发展的空间,先不说能不能实现,就算有,在计算机语言这么成熟的计算机世界里,中文编程到底有什么脱颖而出的优势,能让它占据一席之地,这是个很现实的问题.....

0

1778111842962262 复制链接去分享

英语是通用的,计算机程序语言基础代码是英文的,没办法改变的。

0

踏浆糊 复制链接去分享

mark,围观....

0

伟少5888 复制链接去分享

不知道

4
15473
浏览
0
收藏
邀请他人互动
快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更...

GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应用场景,该产品具有实...

阿里云流计算(Aliyun StreamCompute)是运行在阿里云平台上的流式大数据分析平台,提供给用户在云...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...