读《黑客与画家》有感

原文写于2012-12-30,自己之前的博客不小心删除了,还好留下了当时WP的SQL语句,这里重新贴出来,留念吧。

最大的收获是,我必须要学习一下Lisp语言了,虽然之前也在大学读书馆读过一点皮毛,可是看了Paul的书之后感觉必须严肃的用它来写点程序了,虽然不至于到创业的地步,可是对于一个使用Java长达十几年的人来说,转换一些脑筋思路是非常亟需的。

关于Lisp,用Paul的话来说,就是一个近似完美的编程语言(真正完美的必须具备以下因素:简洁,可编程性,一次性程序,函数库,效率和再设计),也就是说这样的语言必须只包含一些尽量少近乎公理的东西,又可以让你最大限度的自由表达你想要的东西。 从表达这个意义上来说,没有比自己自己定义一个语言更合适的,可是门槛太高,而一种元语言可以帮助你做到这些,Paul认为Lisp就是这样一种语言,而Lisp不仅是这样,它还有其他一些特性:条件结构,函数也是一种数据类型,递归,变量的动态类型,垃圾回收机制,程序由表达式组成,符号类型,代码使用符号和常量组成的树形表示法以及无论什么时候,整个语言都是可用的。以上特性,即便现在的最主流语言也才具备其中几条而已,从这个意义上来说,Lisp也是抽象程度最高的语言。

只所以推崇Lisp语言是因为我们必须承认一个事实:编程语言的编程能力是有差异的。

这本书另外一个很好的观点是关于财富的,Paul认为财富和金钱是两码事,只是由于我们从小认为金钱是流出来的(或许是从父母那里)我们也就认为这个世界的财富也是类似的,因此必须要尽量平均分配,可是从另外一个角度来讲,有的人非常擅长运动,有的人非常擅长考试,你就很自然可以推断,有人善于赚钱。这样平均分配对于那些非常擅长赚钱的人是非常不公平的,这样的机制可能会导致更严重的社会问题,特别是考虑到这些钱是通过创造财富来的(而不是偷窃,掠夺或者继承)。 Paul认为现在的社会已经承认了这一点,可是更重要的一点是,由于社会分工的精细化,很多人在公司的价值很难被计算,导致公司一旦大起来,几乎必然就会产生效率的下降和官僚主义,这样创业公司就很有机会,因为在可测量性以及可放大性上,创业公司具有天然的优势,特别是高科技的创业公司。

最后一点我学到的就是关于设计者的品味,Paul给出了非常好的判断:简单,永不过时,解决主要问题,启发性,艰苦,看似容易,对称,模仿大自然,再设计,能够复制,奇特和大胆。

坦白讲,这本书又重新给了我一些关于软件开发的力量,使我能稍微从《梦断代码》的阴影里走出来。

Updated:

Comments