有两个词描述了意识和语言的关系,一个意领神会,是关于他人讲述,自己领会;一个是得意忘言,是自己领悟。
意识和语言是不同的,你所想的和你所说的并不是完全契合。《庄子》里有宋人传话的例子,一句话传着传着就完全不是本意了。你的意识通过通过大脑的思维层转向语言层肯定会有所失真。因此心中所想为A,口中所述变成了A1,手中所写又成了A2,等到用键盘敲上又变成了A3,已经不同于A了,所以厉害的认为才能心,口,行合一。
由此我想到程序亦是如此,我们自己的思维转化为流程,再把流程转化为自己习惯的编程语言,之后在通过键盘转换成代码,最后通过开发环境转化成可以运行的程序。在这个转化过程中肯定少不了失真,而且由于编程语言限制我们的思维,最终的结果和我们所想的肯定不同,于是出现了bug。《The
Taoof Programming》就说只要有人的地方就有bug,不知道是否和我想到了一处。
因此,我认为大师级的程序员一定可以不让语言限制其思维,要想成为大师必须达到这个境界,否则再厉害,也只能称作匠。