计算机与语言随想

现在编程语言大多是英语,而变量命名中有一重要建议是单词不用缩写除非约定成俗,否则会对他人阅读造成不便。

为此我一直想,同样都是单词,对于不认识的人是没有区别,控制器不管是叫Controller还是叫Cono。所以最好能有语言学家兼计算机学家能创立一套新的语言或标准,或许只有数百字根就可以描述90%的计算机所常用的单词。

微软过去流行过匈牙利命名,比如szName,iAge,这种命名法除了过于冗长,且无法发音。现在匈牙利虽然遗弃了,保持可读性下,著如NetworkException,FooController,BarModel,BazView等等的后缀分类命名还是很常见。

显然,无论是Exception也好,Controller也好,都是英语为基础的单词,并非为计算机语言量身定做,所以单词很显得很不人性化,有的单词很长比如Exception,有的单词模棱两可,单复数也很混乱,总之英语与数字化,严谨的计算机语言来讲显得格格不入。

为了这个问题,很久以前在大学里学过一段时间世界语,里面的单词都是由不同字根组合,而且命名很规律,比如名词以o结尾,动词i结尾,复数j结尾等,但可惜也不是为计算机定做,有些单词转换后反而更长,比如Controller写作Kontrolisto,由Kontrol-ist-o三个字根组和,而且有26个字母外的字母Ĉ,Ŝ等,也不适合。

所以只有全新为计算机定制语言才是唯一的解决方法,一是要单词干练,二是要可读,比如Controller写作Cono,Model写作Mono,View写作Vono,这样MVC就被归成一类。

计算机定制语言,语言中立,简单易学,严谨规范,人机可读,所写即所得。更不用繁复的人工智能语音识别就能和计算机口语交流,是人与数码世界之间的文化桥梁。

共4条评论
  1. hackwaly @ 2012-06-27 10:57:32 回复

    不错,你这想法真不错,找一个即是语言学家,又是程序员的人开发一下吧

  2. anonymous @ 2012-06-28 11:00:17 回复

    Perl语言之父本人不就是一个语言学家吗?

  3. t.k. @ 2013-03-06 13:46:48 回复

    让我想到了赫夫曼编码,但语言毕竟需要人去写,人会记得吗?

  4. 崔钢 @ 2013-09-13 13:55:53 回复

    顶。我也觉得这个是非常必要的,有助于计算机编程的推进。近代数学最大的成就之一就是公式化。我觉得计算机语言也应该是一样的。这个真的很有必要。而且其实根本不需要考虑学习成本的。提供一个字典,大家就可以慢慢学习了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注