Skip to content

Commit

Permalink
Update 关于建立个制作委员会, 通过模仿现有编程语言的标准(如C和javascript)来实现汉语编程语言(中文编程)的发展。.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
qwas982 authored Oct 16, 2017
1 parent 4c56326 commit 0ea1709
Showing 1 changed file with 58 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -1,71 +1,89 @@
���ڽ���������ίԱ��, ͨ��ģ�����б�����Եı�׼����C��javascript����ʵ�ֺ��������ԣ����ı�̣��ķ�չ��
关于建立个制作委员会, 通过模仿现有编程语言的标准(如C和javascript)来实现汉语编程语言(中文编程)的发展。

C�ı�׼��ISO C���Ա�׼��������ISO���ʱ�׼��֯ίԱ�ᡣ
C��ʵ�֣�GCC��llvm�ȵ�̫�ࡣ�����Ǹ���˾����֯����ˡ�
C的标准,ISO C语言标准。背后是ISO国际标准组织委员会。
C的实现,GCC、llvm等等太多。背后是各大公司或组织或个人。

javascript�ı�׼��ECMAScript��������ŷ�޼����������Э�ᡣ
javascript��ʵ�֣�V8�ȡ������Ǹ���˾����֯����ˡ�
javascript的标准,ECMAScript。背后是欧洲计算机制造商协会。
javascript的实现,V8等。背后是各大公司或组织或个人。

����ίԱ���Ŀ����Ϊ���γ�һ������֯�Ͳ���ִ��������
���ǰ�˵ľ��飬վ�ھ��˵ļ���������ǵĻ�����
建立委员会的目的是为了形成一定的组织和产生执行能力。
借鉴前人的经验,站在巨人的肩膀上是我们的基础。

�����ҵĹ۲�����ܽ�õ���������ϵͳ���͡���������û��̫������ģ�TA�DZ����϶���ij����֯�ṹ��
����ϵͳ�������dz�������ݣ�����Ӳ������������ռ䡣
�������������˺���Ⱥ������Ⱥ�ӻ������Ľ����
��ˣ��Ŷ���ʵ����һ���򵥵���֯�ṹ�������ᷢչΪ�����г��ϳ�������֯�ṹ���磻��˾����ҵ�����ɣ���������ȣ�������������Ⱥ��֯��Ҫʵ��һ���£�����Ҫ��һ���������������������������һ���˵�������΢С��΢���ġ�����Ҫ˵�˶�����������֮�������ԭ��
经过我的观察后,我总结得到,【操作系统】和【政府】是没有太大区别的,TA们本质上都是某种组织结构。
操作系统的宿主是程序和数据,还有硬件创造的赛博空间。
政府的宿主是人和人群,人类群居化带来的结果。
因此,团队其实就是一个简单的组织结构,它最后会发展为现在市场上常见的组织结构,如;公司,企业,党派,政治团体等,力量来自于人群组织。要实现一件事,必须要有一定的力量,这是需求和条件,而一个人的力量是微小和微薄的。所以要说人多力量大,星星之火可以燎原。

���ڣ�����Ϊ��ʵ�ֺ�����������ƾ��һǻ��Ѫ��ҵ�మ���ڲ��Ͻ�ȡ����ǰ̽��������ԶԶû�дﵽ�ܴ�����˾��ҵ�ij̶Ⱥͽ׶Ρ���������ֻ��ƾ�������Ѿ����е������� ���� �������� ��Դ����������һ��ίԱ�ᡣ����ʵ�ʿ��е�̽�ֺ��г���٣��������һ�׷�չ�׶μƻ���
现在,我们为了实现汉语编程语言是凭着一腔热血和业余爱好在不断进取和向前探索,我们远远没有达到能创建公司企业的程度和阶段。所以我们只能凭借现在已经具有的人力、 物力 、财力、 资源等条件建立一个委员会。做出实际可行的探讨和列出大纲,还有设计一套发展阶段计划。

1��оƬֻ��ִ�ж����ơ�
��ҿ�������һ��������������ô��չ�ģ���ô��ʼ�ģ��������ռ��б��ǿ���һ�һ�����У�������״̬�����������޶��״̬����������������ĵ����ͳ�������У��Dz��ϳ��������һ��һ�����֯�ͽṹʹ������������߼��ز������IJ������ܣ�������ʹ�ý�����⡣����оƬ��������е�3GHz���ң�G��ʮ�ڣ�3GHz������ʮ�ڴΣ���ô��һ�������ÿ���Ӳ�����ʮ�ڸ�����������״̬��10�ڸ�����ܾ���10�ڳ���30�ڣ�ÿ���Ӳ���300�ڸ�����������״̬��ÿ���ӿ���ִ��300�ڸ������ƣ���GPU�ľ���ܸ��࣬������״̬����ࡣ���⺣���Ķ������У��ҳ�֮Ϊ�����ƺ����кܶ�Ԫ���������ĵ�һ���ֵĶ�����״̬���磻�Ĵ�����ָ�������ȣ�������ˣ�ʣ�µ�״̬��Ҳ�Dz���С��ģ�������ʹ�������Щ������֮�У���Ϊ����������ͨ����ŵ�����ṹ��ʹ�ö����ƵĹ�ϵ�����ԣ������Ϊָ������ݣ���Ȼ��TA�Ƕ����Զ����Ƶ���ʽ���ڵģ�ֻ������������󣬱��ֵ���ʽ��Щ�仯����һ���������֣������ƺͰ˽��ơ�ʮ���ơ�ʮ������һһ��Ӧ�����ڶ���������ĸ�����֣����ָ���ַ���һ�������ֽ���һһ��Ӧ��������������Ӣ�ĵ��ʺ����֣�������������ڶ�������ָ���ַһһ��Ӧ�������������ǰ���Ȼ���Ժ����֣���̷�ʽ�͸��ֽӿ�����������ı���������һһ��Ӧ������ʵ�����һ��һ���ط��룬��һ����̬ת��Ϊ��һ����̬�������������������͸ı䣨���ˮ��һ���ط���������һ���ط������������뵽�˱��ν��Transformers����ʵ��Ӧ�ñ�����Ϊת����̬��Trans��ת����formers����̬����֪��Ϊʲô�����˷���Ϊ���ν�գ��������ڸ��㡣���ԣ��������Ժͳ���Ĺ�ϵҲ����˵ģ����Ǵ��캺�������Ե�Ŀ�ľ���Ҫ���ö�����Ϊ���ǵ�ĸ�˼�����á���Ȼ���������Եı�����Ϊ�˱���˼�롢���⡢�뷨��idea������ݱ�Ϊʵ�ʵĹ��ܣ������ǽ�����������ٵ����⡣
1,芯片只能执行二进制。
大家可以想象一下其他语言是怎么发展的,怎么开始的,在赛博空间中本是空无一物、一无所有,是有限状态机产生的有限多个状态码驱动了软件世界的诞生和程序的运行,是不断抽象带来的一层一层的组织和结构使程序和数据有逻辑地不出错的产生功能,供人类使用解决问题。现在芯片大多能运行到3GHz左右,G是十亿,3GHz就是三十亿次,那么,一个晶体管每秒钟产生三十亿个二进制有限状态,10亿个晶体管就是10亿乘以30亿,每秒钟产生300亿个二进制有限状态(每秒钟可以执行300亿个二进制)。GPU的晶体管更多,产生的状态码更多。在这海量的二进制中(我称之为二进制海)有很多元器件会消耗掉一部分的二进制状态,如;寄存器,指令集,缓存等,即便如此,剩下的状态码也是不可小觑的,而程序就存在于这些二进制之中,因为我们现在是通过冯诺依曼结构来使用二进制的关系,所以,程序分为指令和数据,当然,TA们都是以二进制的形式存在的,只不过经过抽象后,表现的形式有些变化,第一世代是数字(二进制和八进制、十进制、十六进制一一对应),第二世代是字母和数字(汇编指令、地址与第一世代各种进制一一对应),第三世代是英文单词和数字(变量和数据与第二世代的指令、地址一一对应),第四世代是半自然语言和数字(编程范式和各种接口与第三世代的变量、数据一一对应)。其实这就是一级一级地翻译,从一种形态转换为另一种形态,想象下能量的流动和改变(风和水从一个地方流动到另一个地方),这让我想到了变形金刚Transformers,其实它应该被翻译为转换形态,Trans;转换、formers;形态,不知道为什么会有人翻译为变形金刚,可能是在搞秀。所以,程序语言和程序的关系也是如此的,我们创造汉语编程语言的目的就是要利用二进制为我们的母语、思想所用。当然,程序语言的本质是为了表达思想、主意、想法、idea,最后演变为实际的功能,供我们解决生活中面临的问题。

2����ô���ö����ơ�
2,怎么利用二进制。

�����������۵����룬����֪�������Ҫ�������������Ҫͨ���������Բ��ϵؽ��뷨ת��Ϊ���룬ֻ�е��������ﵽһ���̶Ⱥ󣨱��缸ǧ�У������У�����ǧ�����������У������γ�һ���Ĺ��ܣ�����������������������������������磻�������������ģ�飬����ϵͳ�������������̡���������»���΢�������ԭ�ӣ�������һ�����������޶���������ӣ�������һ�����������޶������ ����ӣ�������һ�����������޶������ϸ����������һ�����������޶���������٣�������һ�����������޶����������������������ϻ��к�����棩һ����ǰһ���Ǻ�һ�����ɻ�������ô���������Ը���ô�����أ��������л������Ǵ��㴴�죿�ҿ��˸������ۣ����ִ�ұȽ���ͬ�������л������������л���Ҳ�У����ǻ��������ˣ����ַ������ܺܿ���ɹ����������Dz����������ǵĺ����������͹��������Ӷ����Ƶ���������֮�����Dz��������ǵĺ���Ȩ��������˸Ķ��˵�һ�����������е��κ�һ�������ǵĻ����ͻ��ܶ�ҡ�����������ǵij����ϲ�ͻ�̱���������Ļ���һ�н�����û�����塣������㴴�죬���Ǿ͵ý����е�����״̬����CPU��GPU��оƬ�ȣ�֮״̬�루�����ƣ���������Ƶij������ԣ����������ԣ�һһ��Ӧ����ؽ���һ��޴���������̣����������Ӵ���������ֶ������Ļ�����ʵҲ���������������Ļ�������������и�ȡ��֮�ߣ�������л����������������еı�̻����ͳ�������д����ɾ�IJ���Զ������滻��С�����������ǣ��㿴llvm������ɡ�
��Ϊ���ڵ�����״̬������X86��ARM�ȣ�����Ľӿ��Ѿ�����ԭʼ�Ķ����ƣ����ǻ��ָ���ˣ�����Ҫ���캺�������ԵĻ���ֻ��Ҫģ�����е���ɹ��ı�����ԣ���C��������ʵ�֣���llvm���͹��ˣ����ʵ�ַ�ǰ�ˡ��жΡ���ˡ�����ģ�飬ÿһ���ֶ��õ��� �﷨������ �ʷ����� ���������������һ�����ĵġ����崦�����������Dz�����ֲ��ʲôƽ̨������ı�ġ���ʵ���൱�Ŀ��ź����ɣ�ģ�黯�̶Ⱥܸߣ����԰���ͨ�����ӻ�ɾ����ı�ijһ��������Ӧ��ͬ������ƽ̨��Ӳ��ƽ̨��ͨ��ģ���������ǿ��Կ�����Ƴ����������ԡ���Ȼ���ǵ�һ�������˵�һ���Ļ������Ժ�չ�ڶ����Ͳ���Ҫ��ģ��TA���ˣ���������������ƻ��ں��������״̬���������׾������ۻ�������
��ҿ��԰Ѷ����������һ�����������壬�����ر�����������ɵ��㷨��ͨ��ʹ��ָ��ʹ洢�ռ䴴�����������
经过上述理论的设想,我们知道,如果要建造程序,我们需要通过程序语言不断地将想法转换为代码,只有当代码量达到一定程度后(比如几千行,几万行,百万千万甚至上亿行)才能形成一定的功能,创造若干条件链、工具链,才能塑造出如;编译器,组件,模块,操作系统,大型软件工程。这就像(往下还有微观宇宙←原子(并不是一个,而是有限多个)→分子(并不是一个,而是有限多个)→ 大分子(并不是一个,而是有限多个)→细胞(并不是一个,而是有限多个)→器官(并不是一个,而是有限多个)→动物身体→社会→往上还有宏观宇宙)一样,前一层是后一层的组成基础。那么,程序语言该怎么建造呢?利用现有基础还是从零创造?我看了各种讨论,发现大家比较认同利用现有基础。利用现有基础也行,但是会受制于人,这种方法是能很快出成果,但是我们并不会有我们的核心条件链和工具链,从二进制到第四世代之间我们不会有我们的核心权。如果别人改动了第一到第四世代中的任何一环,我们的基础就会受动摇,以至于我们的程序上层就会瘫痪,那样的话,一切将会变得没有意义。如果从零创造,我们就得将现有的有限状态机(CPUGPU、芯片等)之状态码(二进制)与我们设计的程序语言(汉语编程语言)一一对应,这必将是一项巨大的软件工程,工程量很庞大(如果是人手动来做的话)其实也不大,如果人力充沛的话。但是这里,我有个取巧之策,结合现有基础,比如利用现有的编程基础和程序语言写个增删改查和自动查找替换的小软件帮助我们,你看llvm都能完成。
因为现在的有限状态机(如X86、ARM等)对外的接口已经不是原始的二进制,而是汇编指令,因此,我们要创造汉语编程语言的话,只需要模仿现有的最成功的编程语言(如C)和它的实现(如llvm)就够了,这个实现分前端、中段、后端、三大模块,每一部分都用到了 语法分析、 词法分析 、语义分析,它有一个核心的【语义处理器】,这是不管移植到什么平台都不会改变的。此实现相当的开放和自由,模块化程度很高,可以按需通过增加或删除或改变某一部分来适应不同的软件平台和硬件平台。通过模仿它,我们可以快速设计出汉语编程语言。当然这是第一步,有了第一步的基础,以后发展第二步就不需要再模仿TA们了(我们甚至可以设计基于汉语的有限状态机,比如易经的理论基础)。
大家可以把二进制想象成一股能量或载体,它承载变量和数据组成的算法,通过使用指令和存储空间创造程序宿主。

3����ƺ���������
3,设计汉语编程语言

����������Ҫ����һ������ίԱ�ᣬ������Ҫͨ������ȥ�ƶ��ƻ��ʹ�١�
���������Ҫ��Ʋ��涨�������ԵĴʷ����﷨�����塢�ؼ��ֵ�һϵ�����Թ淶������Ҫ�㹻�ļ򵥣���C��pythonһ�������á���Ʊ�̷�ʽ��ģ��ӿڵȡ�
Ȼ��������Ҫ��������ʵ�֣�������Ҫ����ָ��һһ��Ӧ��������Ҫ����Ȼ����һһ��Ӧ��
�����������͹�������
�������еIJ���ϵͳ�����ֳ������Ե�ʵ�ֶ��ǻ���C���������Ǵ���ĺ���������Ҫ�������滻cҪ��������c�Ļ����Ͻ���ʵ�֡��������ǣ��滻c�����Ǿ���Ҫ�û��д���뷭�뺺�������Եı������͹��̡���cΪ���������Ǿ���Ҫ��Cд���뷭�뺺�������Եı������͹��̡����ǵ�Ŀ����ʵ��������ƵĽ�����ʵ���Ծ١����ڵ���������c����ƽ̨����c�ı�������������Ϊ���Ѿ������ˣ�������Щƽ̨�Ѿ��ж����ƿ�ִ�г����ˡ�
Ϊʲô����������أ���һ��������Ǵ���һ��ʵ�֣�������/������������ô���ǻ������������Ե�ר�л���롣�ڶ�������Ӳ����CPU/GPU/������DSP��mcu������״̬����ר�ŵĻ��ָ�TA�Ƕ��������˿�����Ӳ�������Dz���������ÿһ��ÿһ�ֶ�ȥ��������Ҳ�Ƕ��һ�٣�����ֻ��Ҫֱ�������������ǵ�����֮ר�л��������͹��ˡ�
ij�ֱ�̷�ʽ��ʵ�֣��������������̡�����ʽ��������Ϊ���ı�����/���������ṩ��һ���ܣ��ܽ�����һ��ʽд�Ĵ������/����Ϊ�����ơ������Դ��ĺ���Ҳͬ��������ʵ�ֵġ�
��֮���Ƿ��빤�������Эͬ�������ƻ�����һ��һ����ɡ�
首先我们需要成立一个制作委员会,我们需要通过讨论去制定计划和大纲。
其次我们需要设计并规定这门语言的词法、语法、语义、关键字等一系列语言规范。它需要足够的简单(像C、python一样)好用。设计编程范式和模块接口等。
然后我们需要创造它的实现,向下需要与汇编指令一一对应,向上需要与自然语言一一对应。
创造条件链和工具链。
几乎现有的操作系统、各种程序语言的实现都是基于C,所以我们创造的汉语编程语言要不就是替换c要不就是在c的基础上建立实现。其区别是,替换c,我们就需要用汇编写代码翻译汉语编程语言的编译或解释过程。以c为基础,我们就需要用C写代码翻译汉语编程语言的编译或解释过程。我们的目标是实现与二进制的交流,实现自举。现在到处都能用c,各平台都有c的编译器,那是因为它已经翻过了,它在这些平台已经有二进制可执行程序了。
为什么不汉化汇编呢?第一,如果我们创造一个实现(编译器/解释器),那么我们会生成这门语言的专有汇编码。第二,现有硬件的CPU/GPU/或其他DSP、mcu等有限状态机有专门的汇编指令,TA们都是西方人开发的硬件,我们不可能做到每一类每一种都去汉化,这也是多此一举,我们只需要直接拿来用与我们的语言之专有汇编码适配就够了。
某种编程范式的实现(面向对象、面向过程、函数式),是因为它的编译器/解释器中提供这一功能,能将用这一范式写的代码编译/解释为二进制。语言自带的函数也同理是这样实现的。
总之就是翻译工作,大家协同合作按计划就能一步一步完成。

������Щ�۵�˵�������Ժ�ϰ���Ե�ǰ��֮������TA�ǵ�ʧ�ܾ�����������Ҫ˵���ǣ����ȣ�TA�Dz�����ԴҲ�����ɣ����TA��û��һ�����õ�ʵ�֣�û�п����߸�����TA������û��һ����������֯�ṹ��TA��ȱ��һ�й���������������
关于有些观点说有易语言和习语言的前车之鉴,拿TA们的失败举例,但是我要说的是,首先,TA们并不开源也不自由,其次TA们没有一个良好的实现,没有开发者跟进。TA们甚至没有一个像样的组织结构。TA们缺少一切工具链、条件链。

///

����֪���Ļش���Щ�ش��н�����չ���������Ե����塣
我在知乎的回答;有些回答有讲到发展汉语编程语言的意义。

Ϊʲô���붼����Ӣ����д�ģ���������������д�����������
为什么代码都是用英文来写的,将来会有用中文写代码的那天吗?
https://www.zhihu.com/question/19769482/answer/98050506

���ı��Ŀǰ���ٵ�������ʲô��������Щ���飿
中文编程目前面临的难题是什么,你有哪些建议?
https://www.zhihu.com/question/29895778/answer/98089092
һ�������Զ���Ӣ�ĵģ���Ҷ����ı����ʲô���Ŀ��������ı������Щ�����ƣ�
一般编程语言都是英文的,大家对中文编程有什么样的看法,中文编程有哪些优劣势?
https://www.zhihu.com/question/20184664/answer/98090968

�������������Ƿ��ʹ����ѧ�����壿
共产主义最终是否会使经济学无意义?
https://www.zhihu.com/question/42960875/answer/109848403

�������������й��˷����ģ���ô���ʱд�������ȫ������
如果计算机是由中国人发明的,那么编程时写代码会是全中文吗?
https://www.zhihu.com/question/21061180/answer/121283185

����������������ڣ�
汉语编程语言意义何在?
https://www.zhihu.com/question/33983820/answer/187782339
һ����Դ���ʺ������û������ı�����ԺͿ�������, ����߱��Ķ�����������Щ?
一个开源的适合中文用户开发的编程语言和开发环境, 必需具备的独到功能有哪些?
https://www.zhihu.com/question/55386231/answer/187784837

cpu��ô�ྦྷ�����ɵ��ŵ�·������ͬ���߼�����ô����Ĵ����������ҵ�ȷ�����߼��ģ�
cpu那么多晶体管组成的门电路代表不同的逻辑,那么输入的代码是怎样找到确定的逻辑的?
https://www.zhihu.com/question/62173438/answer/195436918

�˹�����(AI) �Ƿ�����˵����μ���ƿ���� ---��ƪ������չ���������Ե�����
人工智能(AI) 是否进入了第三次技术瓶颈? ---这篇讲到发展汉语编程语言的意义
https://www.zhihu.com/question/62627800/answer/201181045

�����ļ�������Դ�����
https://www.zhihu.com/question/62389459/answer/201189947
完美的计算机语言存在吗?
https://www.zhihu.com/question/62389459/answer/201189947

---------------------------------------------------------------------------------------

我想到一个新思路

利用现有基础,站在巨人的肩膀上,借鉴前人的经验。

手动汉化不如自动汉化。
我们可以用自己现阶段会的某种语言,比如 javascript java python等语言写一个【源代码翻译器】,翻译C/C++的编译器gcc、llvm的源代码,调用Google 的|谷歌翻译|(谷歌已经在去年将它升级到了具有机器学习的人工智能翻译水平)去自动翻译其中的代码,然后保存为汉语源代码,然后再把这个源代码通过现成的编译器编译为支持汉语的新gcc或llvm编译器可执行程序,然后在我们用vs或者code::block(或其它语言的IDE)的时候通过加载编译器,就可以在强大现有的IDE中使用汉语编程了。这是汉化C/C++这种语言的一个思路,也可以将其用于汉化其他语言,比如javascript java python。
因为这个【源代码翻译器】本质上是个文本翻译器。
对翻译的策略,我们可以给他设置一个规则,比如语言保留的关键字和已占用的命名空间用我们协商好的汉语词汇列表,非保留和占用的,如;库、模板、STL等,如果是英文单词就直接翻译,如果是缩写就手动翻译一处,其它相同的缩写就自动替换。
这样做的好处是可以兼容现有语言的资源。反正是机器自动智能的翻译,即便是海量的源代码文件或者各种库、模板等也是可以轻易翻译完的。只不过校验需要一定的人手和时间,不过这应该已经很容易了。我觉得此举就像我们买了苏联的su-30 、su-35后将它国产化并自己生产出歼-11,、歼-15一样。完全消化并掌握这项技能。现在还有全新的歼-20,也就是说以后我们有创造全新语言的可能性,什么图形化编程,人工智能编程,自动化编程都不在话下。

演示者
演说者
解释者
解说者
一句话,上到99,下到刚会走,丰富汉语代码库、模板。丰富条件链、工具链。丰富容量,创造基础。

0 comments on commit 0ea1709

Please sign in to comment.