—— Where exceptions happen.

2007年5月29日星期二

中文编程语言和它的一条明路

今天在豆瓣小组上又看见一个“中文编程语言”——o语言,为什么要说“又”呢,因为我还看见过“易语言”(vb控件汉化版),“中蟒”(python的汉化版),或许在中文互联网的哪个旮旯里还藏着什么别的雄心勃勃要做“中国人自己的编程语言”之类的开发者。

说起来,中国人的民族自尊心从1911年以来就没有被彻底满足过,虽然眼看着似乎就要”大国崛起“,可国民心理还是揣着对自身民族文化的不信任和危机感,写几行程序都觉得有被西化的危险,中文最好,中文节省字数,中文优美,中文历史悠久,……中国人要用中文写程序。嗯,但汉字在计算机上没有象形文字的特殊待遇,也就是两个字节共32个bit的0/1序列,用16bit的ASCii字母和用32bit的Unicode字符对编译器而言并无区别。按着这条国产翻译字幕组的道路走下去是没希望没出路的。我且给中文编程语言指一条明路:

首先要认清,必须扬弃乔姆斯基那套形式语言的玩意,在这个框架下怎么搞,中文词汇都是字符流里的token,没有一点象形文字的特点。要搞就搞一套模仿象形文字的形式计算体系。计算符号要可以在二维空间中按特定规则组合,而不是一维的符号流。另外有必要证明这个二维的形式符号系统和图灵机等价,然后中文编程语言才有了自己的理论基础。一个Lambda演算就可以发展出一大堆Functional Language. 一个二维形式计算机不知道可以搞出多少”中国式编程语言“,到时候编程都是论帧,不是论行。这种语言的一段独立功能的代码由一些随意歪斜的线条和符号构成,其中依稀可辩一些来自中国字的偏旁部首,这就是一帧,是程序员在手写设备上”画“出来的。然后一帧帧能够连动,就构成一个程序,优势极大,这种语言基于图形间的拓扑关系,容错性大,图形直观,易于debug,模块关系一目了然,易于复用。嗯,这条路虽然艰险,却是编程语言中文化的一条光明大道啊,嘿嘿,kuso完毕

ps. 等我退休后,说不定真的会把这个弄出来的 :P

2 留言:

springrider 说...

我靠(请允许我用一点点不太文明的语言来表达我的心情)! 你这个想法太牛了!太有创意了!非常好,我忍不住从阅读器里蹦过来回复一下!

Laubersder 说...

类似的“科幻”我也想过,哈哈

发表评论