论坛首页 海阔天空论坛

关于语言的随想

浏览 1925 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-02  
关于语言的随想
今天和一个多年不见的朋友通了电话,聊了很多东西,谈到了对语言的一些看法,记录下来备忘.

语言既是思维的产物,又反过来影响思维本身.
学习一种语言,就要学习它的内在思维逻辑和思维方式.
使用语言的过程,会影响到你的思维方式本身.

徐小平当年到bell应聘,招聘人员说,徐先生你不懂计算机语言,到我这里来干啥?徐小平说,我虽然不懂计算机语言,可我是人类的语言学专家,计算机的语言是模拟人类的语言创造出来的,所以我对计算机语言也很快可以成为专家.于是他通过了.

当时我听这个故事,只是感觉徐小平口才很好,今天再回味,才发现他讲的真是至理名言.

计算机语言和人类的语言都有着类似的发展规律,刚开始这个语言是简单的,然后逐渐发展,变得复杂,然后就产生若干分支,然后就变得太过复杂,最后被废弃掉.

所有的语言,都同时在向两个方向演化,一个方向是变得简化和简单,另一个方向是变得复杂,庞大,这两个方向是并存的.譬如文言文和白话文一样并存,譬如书面语言和口头语言一样并存.

计算机语言的演化比自然语言迅速的多,但仍然遵循着类似的发展规律,只不过更加快速而已.

同时学习两种语言是不够好的,容易相互混淆.

古文和今文的语法可能不同,但要表达的意思是一致的.在不同时代的古文,有着不同的特点,这就是语言演化带来的结果.

最早的语言本身是简洁的,譬如先秦时代的古文,用字准确,简洁明了.到了汉代,语言就进化到了史记这种大块头的出现,再以后到了唐诗,宋词.语言的规范性增加了,规则也复杂多了.
到了明清两代,语言已经发展到了形式非常完备的阶段,形成了八股文这种形式.
但形态的复杂,同样给语言的学习带来了更大的困难,最后读书变成了一件非常困难的事情.

于是又有了白话文运动,把文言文赶下了历史舞台.
刚开始的白话文,是简单简洁的.因为回归到了口语阶段.
以后白话文的发展也走上了文言文的老路,语言变得越来越复杂.
很多人,包括我在内,从小学一年开始学语文,到上了大学,语文仍然很差,几乎不能顺利写点东西出来.
为啥呢?因为学到的规则太多了,没有自己自由发挥的空间了,越学越不会写了.

语言日益复杂的另外一个证据,就是现在很多用白话文写的东西,几乎没有人可以看懂,不得不再搞出很多解释性的东西出来,加以详细解释.另外就是空话,套话太多,看了以后不知道到底要说啥.
具体例子我就不举了,省的自找麻烦.

于是语言的另外一种机制开始起作用,开始进行自我的简化,体现在网络上,就是bbs论坛和blog的文风.
这种文风的特点,就是随性而至,写到那里算那里,并不强求符合逻辑,符合所谓的语法规则.
尤其有意思的是,发表到论坛的文章,一个一个接着回复,最后可能就离题万里.
而这正好体现了语言的自由发展和随意性特点.

扯了半天语言,现在回到计算机语言.
计算机语言的发展,仔细观察,其规律和自然语言是一样的.
先简单,后复杂,后废弃.然后出来一种新语言,然后再继续重复这条路......
大部分语言都消亡了.
所有的语言都在不断演化之中.
每一个版本出来,和上一个版本可能是兼容的,也又不兼容的成分.
学习第一种语言最困难,以后再学一种就容易多了.
学了好几种语言以后,你会发现他们的本质都是差不多的.
计算机语言,就是人和计算机对话的语言,通过这种语言,我们教给计算机如何进行思考.
   发表时间:2009-05-02  
Ola Bini 前不久刚写了篇:
languages should die
http://olabini.com/blog/?s=should+die
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
我前段时间也想来着
1,存在一种母语,生成所有的DSL语言
2,各个领域内用母语生成DSL语言

翻了翻,发现matin.flower“面向语言编程”,因此大家别丢板砖给我了。转发ing
0 请登录后投票
   发表时间:2009-05-03  
bonny 写道
我前段时间也想来着
1,存在一种母语,生成所有的DSL语言
2,各个领域内用母语生成DSL语言

翻了翻,发现matin.flower“面向方面的语言”,因此大家别丢板砖给我了。转发ing



1. natural language / pseudocode

2. any computer language
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
bonny 写道
我前段时间也想来着
1,存在一种母语,生成所有的DSL语言
2,各个领域内用母语生成DSL语言

翻了翻,发现matin.flower“面向方面的语言”,因此大家别丢板砖给我了。转发ing


是“面向语言”而不是“面向方面”吧……

Martin Fowler 他们推广 Ruby 也是因为 DSL 和 LOP (Language Oriented Programing)。

flower …… 阿花是谁?

LOP 的特点是 “暴露简单性” 而不是 “封装复杂性”。
REBOL 的 GUI lib 只有 600 多 k,就是因为 LOP 的强大效果。
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics