汉语编程-现存的可能误区及可能方向思考

汉语编程这个东西,很特别,先逐步分析推理下:

1.掌握一门开发语言不难,只要头脑正常的正常人都可以做到.

2.掌握编译器就很困难,好在现有的技术条件,门槛已经大大下降了,一般稍微聪明一点的程序员都可以掌握.

3.设计一门编程语言有一定门槛,它至少要求你了解各种语言,各种编程范式,一些计算机理论等,好在这方面有互联网,只要花些时间就可以.

4.设计一门好的编程语言很难,但山寨一门语言是相对简单的,比如可以山寨C#.

5.把复杂的语言编译成机器指令很困难.因为工作量很大,很底层.而且技术相对更复杂.

6.好在现在有CLR和JAVA虚拟机这样广泛的中间运行时平台.还有浏览器这样的运行时环境,现代的语言不一定非要从底层做起,比如类scala,类coffeescript等,这并不妨碍它成为一门优秀语言.

7.语言未必都必须是编译式的,现在计算机这么快,各种运行时也很流行,比如javascript引擎,因为太流行太强大,连语言大师ander也去搞TypeScript.还有CLR和JAVA虚拟机.

可见,以上一些条件,只要避开困难部分,基于中间语言运行时,或者就做成脚本语言,把底层的难度化解了,完全可以发挥设计及想象力,更多只关注语言层面本身.让一个掌握基本技术的人直接和ander站在同一起跑线上,你也可以去做一个YouScript.

但是计算机语言,更多的是表达计算,所以更"符号化",这就是为什么程序语言里有大量的"关键字","符号","数字"组成呢

如果按正常思路去做,那么传统汉语编程,仅仅只会把"关键字"里的"英文单词"代替成"汉字",这样的东西顶多只是让初学者容易上手.价值不大,不能从根本上发挥汉语的威力.比如易语言,除了中文关键字,所有的都是传统编程语言的结构.所以它更适合初学者上手,但真正做开发,它能实现的和关键字是英语的是一样的.这就是现存汉语编程的误区.

当然,就是这样一条路,也需要有大量人去做,去走,只有一个易语言,实现零的突破是不够的.而吴涛先生创了这个零的突破意义非常大.

 

那么,以后汉语编程可能的方向应该怎么走呢?

首先我们分析下汉语跟其它语言的差别在哪里,比如英语

1.汉字数量庞大,有丰富的题材.

2.汉字是图形化,结构化的,很直观,表意能力非常强

3.汉字有个最最伟大的特点,就是可以轻松组成"衍生词组",比如"刀",加个前缀就是"小刀","大刀","水果刀",等等.天生就是面向对象,抽象的.而英语根本做不到这点.

4.汉字有个最最伟大的特点,就是可以轻松组成"复合词组",比如"对","象",本身就有其含义,组成"对象",又有另一层含义,天生就是面向函数式的.而英语根本做不到这点.

5.汉字有个最最伟大的特点,就是可以轻松"组合连接",比如"吃","饭",连接就是"吃饭",比如"先进","先出","后出",连接就是"先进先出","先出后出","后进先出","后进后出".天生就是面向组合及接口式的.而英语根本做不到这点.

6.汉字有个最最伟大的特点,就是可以轻松"造词",比如"裸","婚",比如"户","口",比如"哇","靠",本来没关系的东西,一组合就成一新词,而光汉字就有几千个,这样的组合基本上是无穷尽的.连量子计算机都足够使用.而英语根本做不到这点.

7.汉语还有另一个特点,表意能力强.不用很精确.这在计算机发展初期,是个劣势,但随着现在发展过了初级阶段,就变成了优势,现在很多计算都讲究"云","模糊","统计",因为数据量太大了,不用十分精确,也无法做到精确.

比如:要分析"裸婚"这词的某行业流行度,因为这词就是一词,很容易.但象英语就困难了,因为同样概念很多时候不是一个单词,就算一个单词还有不同的时态,还有单复数,根本无法象汉语这样.

通过上面的分析,结合计算机的现有编程理论及技术,我们可以发现如下:

1.面向过程,和英语相当,没有特别的地方

如:

if true then do XXX, 汉语是假如 是 那么 做 XXX

a = b + c, 汉语是 小计= 单价*数量 

可见,两者在计算表达式和语句上,是一样一样的.当然汉语的对中国人来说更直观.

2.面向对象.英语那就比较弱了,汉语的强势立即体现

如:

class county

class china : county

class UnitedStates : county

class France : county

class London : county

看上面的继承及类型对应关系,因为英语单词都是不相同的,没规律的,你无法从字面量上迅速看出问题.汉语的是这样的

 国家

中国 : 国家

美国 : 国家

法国 : 国家

伦敦 : 国家

看,从字面量上,中文很容易就带上分类,而不增加负担,非常直观.

3.函数式.汉语的超越,相当于量子计算机对传统计算机的超越,不是一个层面的.

以设计输入输出加数列看,英文的就懒得举例了,直接看中文的.

设计函数:输入,输出,先,后,栈,数据

通过函数式的组合:

输入栈,输出栈,输入数据,输出数据,先输入栈后输出数据...这样的组合操作,看上去很自然,把程序变成字面语句.而要知道,几千个汉字,能组成无数的词组,而无数的词组再组成段语,然后再组成...

这个强大的编程功能,量子计算机都够用.

4.逻辑运算.

这方面用汉语编程也很有强项.比如

山 里有 庙,庙 里有 和尚.

可以推理出: 山 里有 和尚

这完全可以做出类似prolog的推理式汉语语言.而且操作和使用都很直观.

5.正则表达式分析.

现代计算机数据处理,需要处大大量的数据,文本,语音,图像.视频

首先来看数据,图像和视频,这中西方是没有任何差别的.略过.

然后就是自然语言的"文本"和"语音".差异就出来了.

看英语:english,法语,france.

如果用中文,都是两个"字",每个"字"都不可以拆分的.处理到"字"就是最小单元.而用字母表达的语言,得处理到"字母",可见汉字算法是更快更容易的.但是汉字比字母多,这在算法上是以空间换时间.

然后是发音,可以看出,每个汉字对应一发音(当然有少数多音字),有很好的对应关系,而单词不是这样的.

综上可以看出,汉语式遍程,可以模仿现有技术,但更主要的是完全可以有突破性的创新.这种创新可以结合上汉字, 汉语的特点,而这些特点经过上面的分析,首先是可行的,其次是有很大优势的.能不能出现体现汉语优势的汉语编程语言,相信只是时间的问题.

 

 

你可能感兴趣的:(编程)