黑客与画家

oscarwin
2018-05-05 18:34:07

书呆子为什么不受欢迎

书呆子不受欢迎只是因为他们不愿意把时间花在人际交往上。在《美丽心灵》这部影片的主人公约翰·纳什所认为的那样:我不能把时间花在人际交往上,那样我就足够的时间进行我的研究。所以别嘲笑一个人不如你的地方,因为别人只是把他的时间与聪明投入到了另一个方面。

但是我并不推崇这种行为,将所有的精力都只花在一个方面,因为每个人都不是独立的人,就像恩格斯给人下的定义:人是社会关系的总和,我们不可能脱离了社会的存在而独自生活。约翰·纳什在30岁的年级就换上精神分裂我认为与其多年的独自生活有着莫大的关系,所以人应该是多元化的发展,同时有一两个突出的方面。

黑客与画家

从来我都不曾想过黑客和画家可以放在一起讨论,格雷厄姆告诉我不仅可以将黑客和画家放在一起讨论,而且他们是如此的相似,有着相同的本质。

黑客在文中指的是通过编程设计优秀软件的人,创建软件的过程和绘画一样都是从无到有的过程。这和建筑设计,文学创作都是一样的东西。像画家学习有很多东西可以借鉴到软件设计中来。

第一,画家学习绘画是通过不停在纸上练习,达芬奇画鸡蛋是家喻户晓的故事,从古至今我从未听说过哪个画家仅仅通过看书而成为大师的。同样软件的学习也应该通过不断的实践练习,只是不是在纸上而是在电脑上编写程序。我们的编程语言就是画家手中的笔。

第二,优秀的技术作品往往不是一蹴而就的,好的绘画往往有过修改的痕迹,甚至改动可能非常大。最开始只是有个基础的思路就可以开始做了,不要想着把整个设计都在脑子里构思好了才去做。首先,要把一项如此复杂的事情完全在脑子里完全想清楚难度不言而喻,很可能你永远就只能停留在这个阶段了。其次,即使你似乎构思完整了,当你实际将你的想法实现时会发现可能并不像你想象的那样,于是你还是得做不断的修改。应该把编程语言当做我们思考的工具,把它当做一支铅笔而不是一支钢笔,随时可能会有修改。所以,设计软件不要想着完全想清楚了再去做,有个基本的思路就可以开始了,在编程的过程中进行完善。

第三,优秀的画家对每一幅画的每个细节都同等对待,对待画的主体认真刻画,对背景也会一丝不苟。软件设计同样应该如此,应该有对美的狂热追求。

第四,黑客与画家一样有心理周期,有的时候工作到很晚却一点也不觉得累,有的时候却连碰也不想碰。我曾经以为只有我自己有这样的感觉,以为极客们每时每刻都对编程充满着无限的狂热,实际上别人只是调节的比较好而已。因此,当你兴趣高涨时就一心写代码,感觉厌倦时不妨去处理生活中的琐事。

书中从《计算机程序的结构与解释》中引用了一句话:程序写出来是给人看的,附带能在机器上运行。我想其实很多的程序员并没有意识到一点,有的是直接忽略了是给人看的这一事实,有的则是附带能给人看。给人看并不是说要每个地方都详细注释,优秀的程序应该比自然语言有更好的解释效果。我对此的理解就是,严格遵守一套编程规范,不要写复杂的逻辑揉在一起,然后在重要的、复杂的地方给出注释。

不能说的话

读这一章让我最震撼的地方并不是所讨论的问题:什么是不能说的话?而是作者针对不能说的话,能够展开如此丰富的思考,对生活和工作中的每个细节进行独特的分析。不保证自己的每个观点都是对的,但是至少每个观点都是经过自己思考的。发表言论时,我们可以借鉴别人的观点,但是一定要经过自己分析我为什么赞同这样的观点。

在互联网已经完全普及的今天,微博、微信、各类咨询网站等充斥着我们生活的每个角落,新闻的实时性和参与性已经达到前所未有的高度。人们对各类事件发表自己的观点,在互联网上发表言论,对于普通人来说即使错了也不需要付出什么代价,因此所谓的水军、喷子无处不在。我们提倡言论自由,但是应该遵守起码的道德规范。

如何创造财富

格雷厄姆所阐述的可测量性和可放大性很好的解释了我一直以来的困惑,他说:“一个人想要通过努力来创造巨大的财富,必须同时具备可测量性和可放大性”。所谓可测量性就是你所做的工作所带来的收益是可以量化衡量的,比如一个CEO高效管理公司使得公司效益提高,效益的提高是可以实实在在测量出来的。而一个老师培育出了好几个优秀的学生,这个老师其实是为这个社会创造了财富的,但是这种财富不能直接量化,所以不具有可测量性,能测量的只是这个老师本周上了几节课。CEO为公司做一系列的决策就是具有可放大的性,因为这个决策可能会使公司业绩大大提升,也可能没啥用甚至是业绩降低。而对于一个普通职员来说,即使你再努力你能做也只是将某一段代码写的更优,而这对整个公司的产品来说有用,但是被整体平均后就显得微不足道了。

0
0

查看更多豆瓣高分好书

回应(0)

添加回应

黑客与画家的更多书评

推荐黑客与画家的豆列

了解更多图书信息

豆瓣
免费下载 iOS / Android 版客户端