百科问答小站 logo
百科问答小站 font logo



为什么不用汉语来开发一个高级计算机语言直接对应01?汉语的横竖撇捺解构比英语要有效的多啊? 第1页

     

user avatar   s.invalid 网友的相关建议: 
      

哦……很遗憾,然而计算机里面并不存在0/1。它就是一堆场效应管控制着电路的通断状态,如此而已。


啊,这里并没有对您手里的黑狗血月经布有任何不敬之意。然而我们这东西的的确确和齿轮连杆一样,它是实实在在的物理元器件构成的、机械的或者电子的装置。

除了震动和潮湿,它无法和您的黑狗血月经布或者脸上涂抹油彩跳战舞的行为产生任何互动。


没错,这和您的黑狗血月经布真的不是一个体系的。无意冒犯您的神灵,但我们都是大老粗,我们的东西都是凡人设计制造、可以用凡例解释的。


总之,这事您的神灵不懂。您烧香拜佛也好,黑狗血月经布也好,都是走错了路子。

想要明白这个,请您出门左转,到住所附近最近的小学报名参加培训。

一般来说,如果您能踏踏实实履行完一年级、二年级、三年级、四年级、五年级、六年级、七年级、八年级、九年级这九年义务教育,那么对这个可能就会产生一丢丢的理解。

之后,您得再上三年高中、四年本科,或许还得加上两年的研究生和五六年的工作经验,那么您就有千分之一的可能真的搞明白它。


user avatar   hei-ma-cheng-xu-yuan 网友的相关建议: 
      

哈哈哈,高赞真有意思,还有让题主研究永动机的。大家知道易语言吗?今天也不百度百科了,以我的从聪明智慧给你们解释下:易语言是汉语系统,语言语法也是汉语

pc端软件-----比如大家所见到市面上所有的电脑端测量软件,都可以用易语言编出来,像《轻松工程测量》,道路之星的pc端程序,徕卡lgo,小宝沉降分析软件,徕卡天宝原始数据的提取和编写等等。
安卓软件------有位大神用易语言编写出了用汉语编写安卓程序,叫做e4a。
Cad的二次开发-------说不定你能开发出类似南方cass的东西来。小的如坐标标注,大地坐标与施工图坐标转换的插件,批量导入/导出坐标

易语言程序界面:

还有说图灵如果在中国的话可能编程就是中文的了,那其实!

C++ 和 C# 的发明人都是丹麦人,母语是丹麦语。
Python 的发明人是荷兰人,母语是荷兰语。
Ruby 的发明人是日本人,母语是日本语。
Lua 的发明人是巴西人,母语是葡萄牙语。
Pascal 的发明人是瑞士人,母语估计是德语。
Erlang 的发明人是瑞典人。
Scala 之父是德国人,母语是德语。

他们发明的语言都以英语为关键字。何解?

再给大家看看中文代码,就更别说什么偏旁部首作为代码了:

好了其实可以用中文写代码,尽管有大量的中文资料和教程等等,但是黑马大大还是墙裂建议大家提升下英文,让自己学会看懂报错和原文文档。尽量能够去StackOverflow上看懂问题可以回答。哪怕开始需要插件查单词,但是日积月累的提升也能登上高峰。

-------更新。

哈哈哈,题主回复我了,那我就再补充下。

其实编程里面的文字替换可以换成中文、或者笔画,甚至Emoji。


程序语言的本质不是任何自然语言:不是中文也不是英语。它是根据特定语法规则拼起来一堆符号,更像人造的语言。编程用的是Java、C语言或者Python,都是这种“人造语言”,只不过它们所使用的“符号”恰好是英文单词。

机器也没法直接看懂这些这些“人造语言”,这时就需要编译器了。它会像翻译员一样,将人类所写的最接近自然语言的高级编程语言,一层层“翻译”到低级的机器语言,直到二进制编码——0和1。

现在通用的编程语言,只是恰好用英语单词作为符号。那用汉字来表示这些符号,也就是用中文编程,不是也挺好吗?

的确可以,但或许没有必要。

非英语编程的壁垒之一在于,底层的语言被英语世界占领——接近硬件层面的语言,用的符号还是英语单词。这就意味着,如果将中文作为接口搭载在主流编程语言上,会多一次“将汉字翻译成英文字”的过程,增加了机器处理的时间,牺牲了效率。

而且,就算用中文或者笔画或者什么都可以,但是就失去了通用性呀。如果你用中文版我用英文版,交流起来恐怕是鸡同鸭讲。



user avatar   strlouer 网友的相关建议: 
      

我看有人说某答主的回答过于刻薄,没有认真回答问题。但我怀疑认真分析你的问题可能是更严重的羞辱。

首先你解释下什么叫直接对应01?你的意思是编码么,GB2312-80 GBK Unicode 符不符合你的要求?

汉语的笔画结构比英语有效,请说明你说的有效的含义。

中文操作系统的中文,是哪个意义上的中文?中文界面?适合处理中文(比如中文排版)?用中文语言写和开发这种中文操作系统有什么意义上的关联?用现有的编程语言开发支持中文的 linux 发行版、windows,有什么不合理的地方?

解释完这些,我才能好好给你唠一唠“为什么”。

PS. 你对计算机一窍不通,就不要用自己妄想的原理去提问了。顺便提一嘴,可能题主更需要补习的不是计算机原理或者别的什么计算机知识,而是语文。这个问题你搜一搜回答实在是太多了,前排的一群答主可能是为了赞才愿意回答这个不是问题的问题:为什么 编程 中文 - 搜索结果 - 知乎 提问之前你搜索过了吗?你是想获得答案,还是想发个帖子来满足你“讨论”的欲望?

PPS. 我从来不反对中文编程,这个话题下我的态度:汉语编程是不是动了谁的奶酪,为什么招黑?


user avatar   maogefur 网友的相关建议: 
      

谢邀。

虽然我说过某些场景下汉语的标识符名字可能更有用,但……这问题……恕我无法支持……


题主你要知道,一句话说出口,就能暴露自己不懂,还能区分自己是有点不懂[1]还是啥也不懂[2]。您这个问题说明您啥也不懂。

这个问题跟那种懂编程但是好奇为何编程不用中文的问法是不同的。那种问题,提问者起码分得清楚抽象层次,知道他们想要的中文编程对标的是 API 或者关键字,甚至更玄学一点的话可能关注的是语法。对那种问题,应该从编程语言或者库的设计上来回答。

但是,您的问题的特点是分不清 0/1 和编程语言,说明您对计算机领域的概念的层次结构一无所知。甚至您拆汉字笔画的点子也未必经过深思熟虑——如果汉字按笔画随便拆,那如果我想要一个笔画序列结果不存在对应的汉字怎么办[3]?总之,这里需要的大概不是直接回答问题,而是劝人学习吧……


不懂本身不是罪过,因为这是一个获取信息比过去便捷得多的年代。过去那种表面上比知识,实际上比种族[4]或者阶级的状况,至少不适用于现代的理工科。现在不论是在知乎专栏还是隔壁 B 站上翻一翻,或者直接买本计算机导论之类的书,总是很容易做到的事情。

但,这只意味着外卖很方便,饭送到嘴里还是得靠自己的。也就是说,工具再好,没法取代学习本身,这得您亲自完成。

参考

  1. ^ 毕竟没有必要苛求一个提问者在提问领域很懂
  2. ^ 但是另一方面,想要问出一个有意义的问题,经常意味着你的知识水平要越过某个最低门槛
  3. ^ 实际上,想要符合条件的话,会得到类似减字谱的东西……
  4. ^ 如美国历史上有过以识字测试为由让大多数黑人无法投票的政策

user avatar   haozhi-yang-41 网友的相关建议: 
      

以前还在比较热衷于科普的时候,在某个科普群里就有人说过,哪都一堆民科,就IT/CS好点,我当时觉得似乎还真的。

最近一连看到好几个这种狗屁不通的问题,尤其什么中文编程之类的——看来终究还是普天之下莫非王土啊。


user avatar   yang-leonier 网友的相关建议: 
      

你用汉字部件,还不如用谚文。

计算机支持处理什么语言文字,和用什么自然语言为基础开发程序设计语言根本没关系。它在底层本来就不是基于任何一种自然语言的。


user avatar   yi-yang-91-9 网友的相关建议: 
      

计算机并没有0/1,而是逻辑门的通断。

关于中文编程,这些年随着中国国力的增强,越来越多的人在讨论在探索。

很遗憾,意义并不大,程序语言和人类自然语言压根没半毛线关系,底层都是机器语言。

如果中国在1940年就是世界第一强国,如果图灵不是图灵,是王灵是张灵,我们今天的编程可能全是用中文关键字,我们的键盘全部是五笔,我们学习的计算机开源资料全部是中文文献。

但这个世界没有如果,错过了就错过了,编程将长时间甚至永远采用英文关键字,计算机开源资料将长时间被英文文献霸榜。

但程序语言最多算用人类语言中的某些词组成的符号系统,大部分支持中文编程的怕是没看过或者写过文法分析的有限状态自动机,只要有一点点了解的就会知道对于编译器来说用任何语言都不是什么问题,语义分析本质是数学解题过程,不管用什么符号最后都是进状态机而已,符号只是一种可以更改的约定而已。

并且哪怕现在编码要用点英文,关键字不过50多个而已,学习成本基本为0,区分语言也从不分为英文编程、中文编程,有区分的是 C、C++、Python、Java、golong等。

这么以来,说什么中文编程就很扯了,再用中文弄一套关键字?

if = 如果、else = 其他、int =整数、float = 浮点数、for = 循环开始、break = 中断跳出?

其实英文那50个符号压根不是学编程的关键,如果这50个符号都记不住,我很难想象你能攻克算法、数据结构、操作系统、计算机网络、编译原理、计算机组成原理、数据库等等。

真正难的也是这些计算机体系基础知识,人类语言压根就不是任何障碍。

另外多看计算机经典书籍才能真正掌握计算机体系基础知识。

我在过去12年学习过的书单,(包含数据结构、操作系统、C++/C、网络经典、前端编程经典、Java相关、程序员认知、职场发展)、面试找工作的资料汇总都打包放在这了。

以上这些书籍,我已经帮大家打包好了,点击下方链接直接获取:

大家也不是不赞同中文编程,只不过觉得完全没必要,毕竟换完没任何好处,推广使用更是大问题,何苦呢?

不过中文编程大家也不是没尝试过,易语言就是:

不过这玩意实在是普及不了,用处也不大,应用场景非常狭小。


user avatar   loonggg 网友的相关建议: 
      

还真不一定高效。

很久之前就有人这么问:

现在大部分编程软件都是英文为主体,有没有中文字进行编程的?还是说中文不适合编程?

其实,过来人都知道,很早之前就用中文编程的语言了,那就是:易语言

在大学的时候,我还有一个室友,天天在那里玩易语言,玩的特别溜。而创业这两年,也见过有的创业者(非程序员出身),他并没有学过计算机,而易语言也玩的特别好,还通过易语言写出了非常好的桌面软件,然后专门就干一件事,搜索爬虫网上的客户信息。就卖这样的软件,也非常挣钱。

那么什么是易语言呢?易语言怎么样呢?我简单介绍一下,目前易语言的最新版本好像是 5.9 版本。而易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。

他大大降低了广大电脑用户编程的门槛,尤其是对于根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入 Windows 程序编写的大门。易语言汉语编程环境是一个支持基于汉语字、词编程的、全可视化的、跨主流操作系统平台的编程工具环境;拥有简、繁汉语以及英语、日语等多语种版本;能与常用的编程语言互相调用;具有充分利用 API,COM、DLL、OCX 组件,各种主流数据库,各种实用程序等多种资源的接口和支撑工具。

所以,中文其实是可以编程的,但是易语言之所不能火起来,是因为中文不太适合编程,注意我说的是不太适合。为什么这么说呢?

为什么说中文不太适合编程呢?

这里说的是不太适合编程,而不是说中文不能编程。原因大概如下几点:

  1. 中文符号不规范,存在全角和半角的问题。
  2. 中文打字的效率太低,键盘从英文字符转换成中文,而机器又得把中文转换成英文字母,多此一举。
  3. 程序注重的是完全精确的逻辑结构,是一种指令或者 “菜单”。和自然语言是不一样的。所以纠结于用什么语言编程是没有意义。其实,不懂的人看到的是用英文在编程,而懂程序员的人都知道,其实不是英文,而是用的英文字母。那么说白了,编程本身并不是用的英语编程,而是字母编程。(这个问题要重点看第三条)
  4. 程序语言的本质是二进制,机器只认识 0 和 1,都是通过 1 和 1 来控制的,最终的编程语言都必须转换成机器认识的 0 和 1,而中文的编码在转换中比较复杂。
  5. 另外,大部分的程序包都是用 C/C++/Java/JS/ 等等,英文字母写的。而中文编程另起炉灶,没有相应的库辅助,难度非常大。也就是从新开发一套中文编程系统,比较麻烦,也就是生态的问题。

其实,作为程序员来讲,应该都非常清楚和知道了解:编程语言并不是针对的任何一种我们人类的自然语言,既不是英语编程,也不是中文编程,通俗易懂的来说,而是字母编程,编译器将字母翻译成对应的字节码,然后转化成二进制,机器才认识。


user avatar   megatrabbit 网友的相关建议: 
      

因为计算机也不认识0、1。

0和1只不过是人为的将高低电平表述抽象化的结果,比如你这个物理接口在0v~1.6v的时候认为是0,在1.6v~3.3v的时候认为是1,这是一种二值化的结果。当然你在电脑屏幕上看到的0、1也未必对应物理上的高低电平,也可能是逻辑开关,或者根本就是抽象的逻辑表述。

当然也有负电压的存在,所以历史上也存在过三进制计算机。当然你也可以更细分,把一个物理接口的可接受的电压分为几个档,那就是几进制。

但你非要说用0、1是媚外,那你用正负也行,用甲乙也行,用满空也行,用开闭也行,用攻受都行,因为计算机本身并不认识什么0和1,它只认电压电流状态。


user avatar    网友的相关建议: 
      

转载CSDN

电脑不适合中文,也不适合英文。电脑只懂0和1。无论用中文输入的还是英文输入的,最终要翻译成1和0电脑才能认识。

电脑里面有一个基本存储单位叫做字节,他可以看成是一个 0-255进制的数字,8进制就是说一个位表示0-7之间的数字,10进制就是 0-9之间的数字,16进制就是 0-15之间的数字。再说深了估计大家也看不懂,简单而言就是,电脑里面存一个数据点(字节)可以是0-255之间的数字。英文用一种叫做 ASCII码表来保存。用0-255个数字来代表英文字母和符号,比如大写字母“A”的ASCII码是65,小写字母“a”是97,也就是说电脑不会认为 A和a是一个字母的两种表示,而是认为他们是不同的字符。

链接如下

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《计算机和英语的英语的关系,关于电脑和英语之间关系的科普贴(原创)》, 一起来围观吧 blog.csdn.net/weixin_31




     

相关话题

  在计算资源有限的情况下,有什么深度学习的选题可以推荐/避免? 
  Linux 系统有没有关于 rm -rf /* 的保护机制? 
  使用 open addressing 的 Hash 表载荷过高为什么会降低 CPU 的缓存命中率? 
  为什么软件要自动安装在系统盘呢? 
  为什么大学C语言课不用linux的gcc编译器上,而是用vs呢? 
  为什么国内技术社区的影响力越来越弱呢? 
  如何看待网传字节跳动或分拆 TikTok 为美国公司,面对「海外封杀」这会是一种有效的措施吗? 
  许多人认为「学计算机吃青春饭」,为什么还那么多人学呢? 
  在大学如何避免自我感动?如何学会更多的知识和技能? 
  Power Point 应该是PPT 还是ppt 还是PPt? 

前一个讨论
如何看待土木/水利工程相关企业严查员工自媒体账号?
下一个讨论
如果石家庄有一个211或者985大学,能否在20年内重新起飞?





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利