介绍
《黑客与画家》是美国互联网界举足轻重,有着“创业教父”之称的哈佛大学计算机博士保罗·格雷厄姆(Paul Graham)所写的文集。
个人感受
这本书应该是大多数互联网人都看过的书了,自己第一次看到书名就很想去了解一下,黑客和画家看似完全没有关联的职业,怎么能放在一起了?然而,这本书的作者却完美的将他们串联了在一起。书中,作者从他的生活经历中总结出了很多不同的问题,比如:书呆子为什么不受欢迎?怎么打破常规?如果你的想法是社会不能容忍的,该怎么办?怎样创业才会成功?如何创造财富?一百年后,人类怎样编程?等等。想通过这些问题来帮助我们去理解我们所处的这个计算机时代到底是一个什么样子。
在我们现在很多人的理解里,“黑客(hacker)”就是利用自己的技术入侵他人计算机并带来一些危害的一群人和计算机犯罪是同义词。但是在作者的世界里,黑客是指出于兴趣而解决某个难题,不管他有没有用的一群人。并且提出了恶意入侵计算机系统的人应该被称为cracker(入侵者),而传统意义上的黑客才能被称为hacker。同时黑客也具备这三个特点:好玩,高智商,探索精神。而真正的黑客致力于改变世界,让世界运转得更好,而不是犯罪或危害他人。
在基于这样的理解上,作者在书中的第一章就讨论了这样的一个问题:为什么书呆子不受欢迎?而这样的书呆子,作者认为未来很可能就是一名黑客,因为他发现“书呆子”和“高智商”是存在正相关的关系的,他们不会将注意力放在外表,和朋友玩耍之类的,他们的脑子里想的是别的事情,例如读书和探讨问题上面,时时刻刻的在琢磨如何让自己变的更加聪明,并由衷的热爱和追求着,至于在同学眼里受不受欢迎,他们根本不会在乎,因为这不在他们的考虑范围之内了,于是书呆子的童年在学校里大多会被大家歧视和欺负,因为他们不受欢迎,但是离开学校以后,真是的世界却能温柔相待他们,因为真实世界的庞大规模使得你做的每一件事情都能产生真正意义上的效果,发现正确的答案就开始变得重要了,而这恰恰是书呆子的优势所在。
而第二部分讨论的黑客与画家,作者认为他们的共同之处在于他们都是创作者,与作曲家,建筑师,作家一样,他们都是在努力试图创造出优秀的作品而不是修改作品,这点上他们同样也是艺术家。在创造的过程中,他们可能会发现一些新的技术,但本质上,他们并不是在做研究。在黑客和画家的共同之处中,我认为比较重要的一点就是:在创造作品的时候,你不能指望一开始就可以完美的设计规划,如要编写一个程序,你需要把问题想清楚的时间点,应该是在编写代码的同时,而不是之前。这点在我们开发的过程中也深有体现,前期过的技术方案只是一个大概的实现过程,而具体要怎么弄,只要在编写的时候自己才能很好的做出判断。因为开发和创造终究都是一项实践性的工作,是需要不断的练习和探索,甚至很多的失败(bug的出现),才能找到一个相对正确的答案,有时候这个答案很不幸在不久的将来就会被推翻和修改(优化代码或者优化功能吧),而在我们的现实生活中,很多朋友说自己是编程渣渣,能力不强,在排除自身不感兴趣和懒惰的情况下,另外一种情况就是很多人认为学习一门语言,自己一定要把该语言掌握的十分透彻才开始去动手实践写代码,这是错误的。应该是在掌握了基本的语法后,就可以去尝试写代码,在写的过程中不断的补充新的知识,和加强自己对该语言的理解。就像书中说的一样:编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。
在“如何创造财富”章节里。认为创业是一个可靠的途径,而创业就是为了获取财富并且解决某个技术难题。他结合了自己一开始和友人创办viaweb的经历,总结出了一些创业成功的要素:1,运气成分,认为虽然比尔盖茨即努力又聪明,但是微软公司碰巧是历史上最大商业错误之一“DOS操作系统的授权协议”的受益者,如果没有这个成分微软公司的历史就将完全不同。2,金钱不等于财富,认为创造有价值的东西就是创造财富,财富和金钱的区别在于,财富存在的时间和人类的历史一样长久,甚至更久,而金钱是一种历史相对较短的发明,它只是财富的一种简便的表达方式。等等,其中有一个因素我比较关注:用户数量。这一点个人觉得直到现在也一直是互联网创业者最需要注意的,毕竟用户是自己的衣食父母嘛~,并且指出创业的初始必然是艰辛的,压力也是非常大的。同时他也提出了可测量性和可放大性的观点,并且认为小团体=可测量性,高科技=可放大性,创业公司为每个人提供了一条途径,同时获得可测量性和可放大性。因为创业公司是小团队,所以具备测量性,而创业公司通过发明新的技术,所以具备可放大性。并且他指出了小团队比大公司好的优势。在小团队创业的优势是每个人的贡献是可以测量的,在这样的情况下,和其他愿意努力工作的人一起组成一个团队,会产生互相激励的作用,从而更加高效和更加快的获取回报,而加入大公司会使自己的工作平均化缩小了自己的价值。这也是作者认为创业公司的意义所在。此处引用乔老爷子说的那句话:创业的成本取决于最早加入公司的那十个人。想想也是阿里巴巴曾经不是也有十八罗汉嘛。
一个优秀的软件,肯定会有一个好的设计,那么什么样才叫好的设计了,而在“设计者的品味”这章节里,作者认为众多不同学科对“美”的认识有惊人的相似度,而优秀设计的原则是许多学科的共同原则并且举出了一些指标如:好的设计是简单的设计,他认为当你被迫把东西做的简单时,你就被迫直接面对真正的问题,当你不能用表面的装饰交差时,你就不得不做好真正的本质部分。如同我们写代码一样,用最少量的代码写出最高效的程序,这也是我们的最求哈。好的设计通常是有点趣味性的设计,他认为幽默一定程度上反映了力量,幽默感是强壮的表现,始终拥有幽默感就代表你对厄运一笑了之,而丧失幽默感则表示你被厄运伤害到,所以强壮的标志就是轻松面对自己的人生。并且指出好的设计非一定要有趣,但是很难想象完全没有趣的设计会是好的设计,另外还有好的设计是永不过时的设计,好的设计是解决主要问题的设计,好的设计是启发性的设计,好的设计是艰苦的设计,等等。
最后书中作者还预测了未来编程语言的发展方向,他认为一个语言能否流行起来并且长期的存在下去最重要的因素是在于基本运算符,内核设计得越小,越干净,那么生存的时间就越长。很有道理呀~ 所以PHP是世界上最好的语言啦~ 但是对于黑客来说,他们需要的是更简单的简练的语言,这种需要应该具备最高层次的抽象和互动性,而且很容易装备,只用很少的代码甚至几行代码就可以解决常见的问题,不管是什么程序,真正要写的代码几乎都与你自己的特点设置有关,其他具有普遍性的问题都有现成的函数库可以调用。然而,无论未来的编程语言发展如何,编程这项活动始终不会停止,它就像一种艺术创作,黑客就是艺术家,对于顶尖的黑客们来说,就像画家中流传的一句谚语,“画作永远没有完工的一天,你只是不再画下去而已”。同样这句话也送给我们所有的程序员小哥哥们!!!
网友评论