深度: 如果用中文编程!

电脑杂谈  发布时间:2020-07-01 03:31:52  来源:网络整理

中文编程知乎_python核心编程第三版 中文_中文编程

我要写这篇文章的原因是因为我昨天在头条新闻中看到了这样一个问题,但是答案中有很多答案让人们哭泣,而让人们哭泣的是有些人看起来很高,但实际上非常太离谱了许喜欢这个答案.

有人说中文字符占两个字符,而英文字母只占一个字符,因此使用中文编码会浪费空间. 转换为二进制0101后,execution肿的执行效率浪费了空间.

有人说汉字的各种排列和组合太复杂了,可能性也太多了. 中文中的polyse这个词很常见. 计算机可能很难理解并且容易导致歧义. 英语要简单得多.

越来越多的人说,中国重视“二合一生活,三分之二,万物三分”. 然后,中国计算机更有可能使用三进制甚至八卦八进制代替二进制.

python核心编程第三版 中文_中文编程_中文编程知乎

如果您已经研究了计算机组成和编译的原理,那么您将知道这些答案非常离谱. 因为是相关的,所以让我们与所有人讨论这个问题.

首先,我们必须了解计算机都是二进制电子计算机. 二进制表示我们的计算机(CPU)的大脑只能识别两个数字0和1. 对其他事物一无所知. 无论是2345号,还是我们在计算机电话中看到的图片和视频软件,它们最终都会转换为一堆0101. 此0或1称为一个位,八个位构成一个字节. 例如,一张100KB的图片是100 * 1000 = 100,000字节= 800,000位,这意味着在计算机的眼中,这张100KB的图片是800,000 0101的字符串.

那么为什么我们必须使用二进制0101来表示这些东西,而不是人类更常用的十进制0123456789?十进制数字比二进制数字包含更多的信息. 这样表达也更方便吗?主要是因为十进制系统在机器中实现起来不太方便. 如果您想让计算机识别出0101必须使用不同的东西来代表两个最基本的东西,对吗?如果只区分这两种状态,那就太简单了. 这种自然对立的两种状态可以在自然界的任何地方找到,例如正,负,黑白等. 是否要在机器中使用它?最容易想到的是开关. 接通机器电源. 当开关打开时,它表示1;当开关断开时,它表示0. 多么简单. 如果您同时使用一件事表示10个状态,那么麻烦就多了. 有些人使用齿轮的十个位置来表示十进制的十个基数,但是当问题复杂时,它将直接崩溃. 因此,每个人后来形成的共识是,要构建稳定的计算机,必须使用二进制文件.

中文编程_python核心编程第三版 中文_中文编程知乎

现在,当我们谈论计算机时,大多数人会感觉到计算机的思想和设计是20世纪中叶的事物. 实际上,否则,早在19世纪初期,一位名叫巴贝奇(Babbage)的英国科学家就提出了现代计算机的模型. 在他的一生中,他试图制造这样的计算机,但他失败了. 他失败的原因之一是当时他的思维太先进了,并且没有多少人能理解它,但更重要的是,他所使用的机器的精度仍然远远不够,因为它不符合要求. 电子时代. 他制造的计算机都是机械计算机,只能通过齿轮开关等来实现,但是无论机械齿轮打开的精度如何,在现代计算机看来它们都太粗糙了. 他的失败是不可避免的,他设计的高级计算机模型集只能在电子时代实现,这是一个世纪.

之所以可以实现电子计算机,是因为二极管出现在20世纪初期. 二极管是非常简单的事情. 它利用半导体的特性来做这样的事情: 它只允许电流沿一个方向流过. 这样,我们可以将二极管想象成一个电开关: 当您给它一个高电平时,电流可以流过二极管,然后开关导通;如果将其设为低电平中文编程,则电流无法通过二极管. 此时,此开关关闭. 使用此功能,我们可以使用级别控制开关的闭合,并且如果开关打开时表示1,接近0,那么我们可以使用该级别表示两个二进制数1和0,并且不再需要使用齿轮或机械开关表示二进制01,这是实现电子计算机的基础. 后来的晶体管,晶体管甚至集成电路只是物理技术上的进步.

了解电子计算机的起源之后,我们接下来将开始编程. 绝对不是看电脑. 如果我们想让计算机为我们做某事,我们必须“告诉”计算机它要他做什么,但是如何知道呢?您说话和写作时会听懂吗?当然不明白如前所述,计算机仅知道0101,而其他人都不知道,因此中文编程,如果要与计算机通信,请使用0101与他们通信. 最初的编程是这样的. 他们在一条长纸带上打了多个孔. 打孔的代表1和未打孔的代表0. 计算机将这串穿孔的纸带读入其中. 他认识了一系列0101,然后上班了.

请注意,此事的发展尚未发生任何中文编码的英文编码. 当前的编程使用打孔纸带,这显然不是任何国家/地区的语言. 也就是说,主流编程语言使用英语而不是中文的原因. 现在他们还没有到达,他们需要继续下去.

中文编程知乎_python核心编程第三版 中文_中文编程

下降是人类懒惰的时期. 直接打0110电脑就可以看到它很酷,但是让人不舒服. 想要编写程序的人必须继续编写一系列长时间的0101,这太难写了,太难读了,太容易出错了. 如果将其写为1,将会出现问题,因此人类将不得不找到一种懒惰的方法. 人们将使用简单的英文字母来表示将在编程中使用的这些固定的0101字符串. 例如,根据惯例,将“ 1000100111011000”替换为“ mov ax,bx”. 执行程序时,将根据规则使用另一个字母将这些字母更改为0101. 由于其背后的语言,该程序被称为编译器. 它被称为汇编语言,因此这种程序称为汇编编译器.

这是我们第一次发现英文字母. 为什么在这里用英语写汇编语言?当汇编语言的想法流行时,每个人都同意必须放弃0101的酷刑. 机器码,然后处理器的制造商直接以汇编语言表达用于操作处理器的各种指令,以便您可以直接使用以这些汇编语言编写的指令来直接控制处理器. 由于英特尔是处理器领域的佼佼者,因此,如果要使用英特尔处理器,必须使用英特尔指定的组装说明. 英特尔是一家美国公司,因此用英语写这些说明很正常. 如果此时主要的处理者是中文公司,并且该中文公司将这些0101替换为特定的汉字,那么也可以形成汉字指令集. 因此,组装层中使用的语言取决于生产处理器的公司所使用的语言.

时代在继续前进,人们继续保持懒惰. 尽管汇编语言看上去比0101舒服得多,但它只能为0101逐字翻译,但其思维仍是机器思维,这与人类自己的思维习惯不符. . 这种感觉就像是要一个英国人读中文英文的“ You can you up,no zuo no die”. 他一定很困惑. 因此人们必须继续开发更符合人类思维的语言. 毕竟,人们编写程序而不是机器. 用符合自己想法的语言编写程序绝对容易. 因此在汇编语言之后,出现了许多更高级的编程语言. 让我们以著名的C语言为例.

python核心编程第三版 中文_中文编程知乎_中文编程

C语言有多强大?我仅举一个例子,您将了解: 当前的主流操作系统,无论是Windows,Linux,Unix还是Android IOS,都是用C语言编写的(某些特殊地方还包含一些程序集). C语言如何工作?您可以发明一种新语言吗?计算机的处理器可以识别吗?当然,它不能识别C语言,但是您不能识别汇编指令,然后我用C编写程序,然后使用软件将C语言转换为汇编语言就可以执行它. 实际上,它做同样的事情. 将C转换为汇编语言的东西称为编译器.

这个问题很简单. 用英语写C语言的原因是因为发明C语言的人是美国人. 在发明了C语言之后,他制作了可以将C语言转换为汇编语言的编译器. 设备结束. 因此,我们看到了问题的核心实际上在编译器上. 只要您感到高兴,就可以随意定义一组编程语言和一组语法. 您还可以让人们用中文编写程序,但是如果您希望发明的新语言可以正常工作,则必须为他提供支持的编译器,并使用该编译器将您发明的语言转换为汇编语言. 计算机科学学院将开设一门非常重要的课程,称为“编译原理”,专门教您如何开发编译器.

因此,我们知道开发一种新语言非常简单,您只需要自己定义一套语法,然后获得一个编译器. 真正困难的是推广,为什么其他人会使用您开发的语言?如果您发明的语言没有任何特殊优势,为什么我不使用您就使用熟悉的原始语言?除非您能像Apple一样努力: 您是否想开发IOS应用来赚钱?如果您认为的话,您是诚实的. 实际使用我的语言,不要胡说八道. C语言是如此强大,为什么Java在1990年代变得流行?因为使用Java进行网络编程比使用C语言简单得多,所以简单意味着Java编译器可以为您翻译很多网络. 相关的事情,因此您执行的操作要简单得多.

因此,在此级别上,可以在任何国家/地区开发编程语言. 中文,英文,法文和德文都没问题. 只要您找到匹配的编译器,它也非常简单. 实际上,“易语言”是用中文开发的一种编程语言.

说到这,很容易从一开始就回顾问题. 不管哪个国家首先发明计算机,在0101打孔时代都一样. 然后,除了要与处理器制造商绑定的汇编语言外,其他高级语言都是非常免费的. 这些高级语言对您用中文还是英语都没有限制,我们目前的主流编程语言也都是高级编程语言,很少有直接使用汇编语言的. 当前主流编程语言都是英语的主要原因主要是这些高级语言的发明者都讲英语(主要是美国人).

对于那些说中文程序设计语言占用了大量空间或者说中文语义难以理解的人来说,它们都是错误的. 无论您使用哪种语言,这些语言都将在执行前被编译为汇编语言. 您写入的较大空间对程序的执行没有影响. 很难理解中文的语义. 重要的是要了解,您编写的高级语言不是处理器,而是您自己编写的编译器. 如果使用您的语言,则会产生歧义,这仅表明您编写的编译器严重不合格. ,与中文和英文无关.

最后,如果您想设计自己的编程语言,请学习编译原理.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-264304-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...