如果编程替换成中文就会怎样? 程序员看了表示头疼

640?wx_fmt=gif


首先大概的看一下中文编码:


640?wx_fmt=jpeg


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


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


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


if True thenPrint "OK"
endif


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


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


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


640?wx_fmt=jpeg


其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。


然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。


程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。


补充一句,其实现代的语言比如Java,都支持Unicode,也就是说可以用中文甚至世界其他语言做变量名和函数名,你可以试试看,这样看起来就基本上就相当于是中文编程了,对比一下英文编程,你就会知道哪个更好了。


640?wx_fmt=jpeg


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


来源:代码湾

文章版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。


640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java new 面试_java面试30问

第一,谈谈final, finally, finalize的区别。第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?第三,Static Nested Class 和 Inner Class的不同,说得越…

使用visio 2016 绘制画UML时序图(Sequence Diagram)

什么是时序图?时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。让我们来看一看Visio2016对时序图的的解释。时序图的元素我们在画时序图时会涉及到7种元素&…

网页颜色搭配

兼职请上猪八戒网站转载于:https://blog.51cto.com/ayyzddq/598474

数字化诗人:这可能是第一位用算法写诗的诺贝尔文学奖得主

一位英国教授发现,一些优秀的诗人早在20世纪60年代就开始使用编码算法来写诗了。著名作家J.M.Coetzee,在早期的英国超级计算机上开发了创作诗歌的软件当我们回顾历史上探索科技应用的人才时,通常不会想到英语教授。但是伦敦国王学院现代文学博…

在asp.net core中使用的验证框架FluentValidation

FluentValidation在asp.net core中怎么使用?先安装包。Install-Package FluentValidation.AspNetCore和上一篇的实体类和验证类一样。实体类:public class Person {public int Id { get; set; }public string Name { get; set; }public string Tel { get…

【EFCORE笔记】异步查询工作原理注释标记

异步查询 当在远程数据库中执行查询时,同步查询可能会阻止当前线程,异步查询可避免阻止线程,这有助于避免冻结户端界面, 异步操作还可以增加 Web 应用程序的吞吐量,可以在数据库操作完成前释放线程去处理其他请求。EF …

java 进程同步代码_java 实现进程间的同步(源代码)

操作系统课程设计:实现进程间的同步。 有问题留言import java.util.concurrent.Semaphore; /******** 信号量 *******/ class Sign { final static int NUMS 6; // 进程的数目 final static int RUN 1; // 运行完 final static int STOP 0; // 阻塞态 static int…

CSS日常公用样式与一些解决方案

一、自己总结的公用样式解析html, body, div, p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, select, button, textarea, iframe, table, th, td { margin: 0; padding: 0; }img { border: 0 none; vertical-align: top; }ul, li { list-style-type: none; }h1…

上班族吐槽大集合:那些发生在公司的傻X奇遇

“明明不需要加班,到了点却偏偏没人起身走。”—— 小爱“头脑风暴,人越多效率越低下,最后风暴出来的东西也很难落实。”—— 好奇心“只是申请个办公用品,需要人事处签字,行政部签字,总监签字,…

C# 9 record 并非简单属性 POCO 的语法糖

最近升级专案到大统一 .NET 5 并使用 C#9 语法尝试改写套件,发现之前以为 record 只是简单属性 POCO 的简化语法糖的认知是错误。另外因为 POCO 属于需定义口语词,这边在本文定义简单属性 POCO 为 public class 类别 {public string ID{get;set}/*略*/} 只有属性的简…

java中注解的解析_全面解析Java中的注解与注释

注解一、什么是 Annotation? (注解 or 注释)Annotation, 准确的翻译应该是 -- 注解。 和注释的作用完全不一样。Annotation 是JDK5.0及以后版本引入的一个特性。 与类、接口、枚举是在同一个层次,可以成为java 的一个类型。语法是以 开头简单来说&#x…

安装配置Mysql主从

环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2 一. MySQL主服务器配置 1.编辑配置文件/etc/my.cnf # 确保有如下行 server-id 1 log-binmysql-bin binlog-do-dbmysql #需要备份的数据库名&#xf…

玩的时候好好玩,学的时候好好学。不做半吊子

要用大块的时间学习,玩的时间也不能短。比如:一周七天六天认认真真学习,不要某天下午一犹豫懒惰就不去实验室了,没有任何目的度过了无聊的下午。同时又没有玩的计划所以,玩的也不开心。 现在要做到的就是正常的计划不要…

java实现思维导图_Java并发(思维导图)

1,线程状态转换无限期等待:限期等待:线程生命流程:2,实现方式代码实现样例【三种方式】:packagecom.cnblogs.mufasa.demo2;importjava.util.concurrent.Callable;public class test1_Runnable implementsRu…

这本免费小书,带你征服 GitHub!

GitHub 漫游指南,一本有趣又通俗的 GitHub 教程,想要成为 star 之王么?今天给大家分享一份通俗易懂的 GitHub 学习教程,即《GitHub 漫游指南》。看过了不下十套 GitHub 教程了,小编愿称它为最强!虽然没有 G…

jQuery formValidator表单验证插件4.1.0 下载 演示 文档 可换肤 代码生成器

更新记录: 2011/6/5 jQuery formValidator 4.1.0 ver申明:1、所有DEMO引用jQuery类库的时候,类库后面直接跟了版本号——表示插件支持的最高类库版本号2、插件的命名:插件名版本号,压缩版:插件名版本号min新增以下功能…

java context.write_Channel.write() 和 ChannelHandlerContext.write() 的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。看了下netty 源代码, 终于明白了Channel.write() 和 ChannelHandlerContext.write() 的区别了网上说的都不是很清楚首先注明我的netty版本io.nettynetty-all4.0.36.FinalChannelPipeline处理ChannelH…

美国劳工部揭露中国女人大数据,看完彻底傻眼了……

导读:“中国人的勤奋,令世界惊叹和汗颜,甚至有一点恐惧。”——科斯,诺贝尔经济学奖得主那么中国人的“勤奋”能否用数据来量化一下呢?答案是可以的。另外,如果以性别来区分,究竟是中国男性更勤…

计算机女神,互联网第一夫人!

大家好,我是鱼皮,今天带大家认识一位计算机领域的女神,有关她的故事非常有趣!先聊聊我是如何认识女神的吧。那是我在大四做毕业设计的时候,误打误撞地选了一个图像处理相关的课题,要做一个显微图像处理分析…

mysql安装目录centos_CentOS mysql安装系统方法

CentOS linux由于同时具有与RHEL的兼容性和企业级应用的稳定性,又允许用户自由使用,因此得到了越来越广泛的应用。1]CentOS mysql安装解压[rootlocalhost root]# cd /usr/local/mysql/software[rootlocalhost software]# lsmysql-4.0.16.tar.gz[rootloca…