Long time we think does program can write in Chinese. The answer is NOT. It's REALLY? So , I try if Chinese program would be.
关于汉语可否作为编程语言的讨论已经很久了,目前的答案仍然是NOT。真的是这样吗?于是,我试试汉语编出来的程序应该是什么样子的。
1、汉语为什么不能编程
首先,汉语没有分隔。整句话没有空格,如果要用汉语编程,必然面临分词的难题。汉语的多义性的特点,致使汉语分词至今仍是研究的热点。李开复博士很久之前提出的汉语按照尽可能长的方向划分,至今仍然影响汉语的自然语言理解。汉语是一种高效的语言,因此,能用短词表达的,绝对没必要用长词。因此,长词一定具有优先被处理的优先级。
其次,汉语表达的语序与英语不同。一个复合词中最核心的部分总是放在词的最后,这点英语正好相反,核心词是在前的。由于英语书写是由左至右的,而汉语的书写习惯是由上而下,右而左的。这样的书写习惯产生了相应的构词规则。
2、西方的编程习惯,中文的理解习惯
按照C的变量声明规则
int a;
如果直接翻译成汉语:
整形 a;
整数 a;
理解这样的短语仍然需要C语言基础。单纯的汉语语境无法正确的理解这样的意思。对于C++语言的变量声明可能就更难了:
public static boolean 运行逻辑状态;
翻译的结果就是:
公开 静态 逻辑 运行逻辑状态;
这样的编程语言理解必然以来由C/C++预先构建的编程语境,并理解关键字的翻译字典。这样的语言完全违背了语言设计的初衷:解决具体问题和简单。
3、汉语的书写和理解习惯
这样的语言设计并非汉语编程,而仅仅是中文编程;
汉语的特点应该被充分利用,并脱离英语语境,是汉语编程的基石。
4、汉语编程语言的白皮书
(1)变量名可以包含变量类型,带有类型的变量名与变量等价。
举例:
总数 ;// “数”是类型说明,“总”是变量名,两者无法分类
(2)类型说明有同义词;
举例:
坐标值;总数;质量;重量;速度;温度;
值,数,量,度是等价的概念;汉语中数值,度量在概念上是等价的。
(3)赋值运算符:“为”,“=”
质量为10.5;速度为0;总数=0;
(4) 访问对象的属性:的,“.”
物体的质量,运动的速度
(5) 对象的继承:是,“:”
A是物体,B是能量
(6) 无返回值过程:定理
(7) 有参数和返回值称为:关系
5、例子:
X值为0;Y值为1;Z值为2;
向量
值组【3】
物体
质量为1
位置向量为[0,0,0]
速度向量为[0,0,0]
加速度为0;
力的第二定律
加速度=力/质量
-
Notifications
You must be signed in to change notification settings - Fork 0
directcg/Program-in-Chinese
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
汉语能用来编程吗?
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published