《黑客与画家》是保罗·格雷厄姆(Paul Graham)的文集,也是程序员文化入门的经典读物。
我第一次读这本书,是刚入行做程序员的时候。那时候只觉得里面的观点很有趣,但理解不深。最近重读,有了很多新的感悟。
这本书不教你写代码,而是教你理解程序员的思维方式、创业的本质、以及技术和艺术的关系。它能让你明白,编程不只是一份工作,更是一种创造;程序员不只是码农,更是新时代的工匠和艺术家。
今天分享我的读后感,包括书中最有启发的几个观点、对我影响最大的文章,以及这本书为什么值得每个程序员读一读。
一、保罗·格雷厄姆是谁
先简单介绍一下作者。
保罗·格雷厄姆(Paul Graham),程序员、作家、投资人,Y Combinator的创始人。
他的经历很丰富:
- 哈佛大学计算机博士
- 创办了Viaweb(后来被雅虎收购,成为Yahoo Store)
- 创办了Y Combinator,投资了Airbnb、Dropbox、Stripe、Reddit等知名公司
- 写了很多关于编程、创业、技术的文章,在程序员圈子里影响很大
格雷厄姆的写作风格很特别,深入浅出,用简单的语言讲深刻的道理。他的文章不像学术论文那样晦涩,也不像鸡汤文那样空洞,而是有思想、有洞见、有实例。
《黑客与画家》是他的第一本文集,收录了他最有代表性的几篇文章。虽然写于2000年代初,但里面的观点放到今天依然适用,甚至更加深刻。
二、为什么叫"黑客与画家"
书名"黑客与画家",来自书中的第一篇文章。
格雷厄姆认为,黑客(程序员)和画家有很多相似之处:
- 都是创造者:画家创造画作,黑客创造软件
- 都需要技术:画家需要掌握绘画技巧,黑客需要掌握编程技术
- 都需要审美:画家要懂得美,黑客要懂得好代码的美
- 都是手艺活:都需要长期练习,熟能生巧
- 都在创造中获得快乐:创造的过程本身就是一种享受
但社会对两者的态度不同。画家被认为是艺术家,受人尊敬;黑客被认为是技术工人,甚至是"书呆子"。
格雷厄姆说,这是一种误解。黑客和画家一样,都是创造者。好的代码,就像好的画作一样,是有美感的。
这个观点对我影响很大。它让我明白,编程不只是一份谋生的工作,更是一种创造性的活动。写代码的时候,我们不只是在实现功能,也是在创造一件作品。
三、书中最有启发的几个观点
说说书中最让我有启发的几个观点。
1. 书呆子为什么不受欢迎
这是书中的第二篇文章,也是我最喜欢的一篇。
格雷厄姆分析了为什么在学校里,聪明的孩子(书呆子)往往不受欢迎。他的观点是:在学校里,受欢迎需要花时间和精力去经营人际关系,而书呆子把时间花在了学习和思考上,所以没有精力去经营人际关系。
而且,学校的环境是一个封闭的小社会,有自己的规则。在这个小社会里,受欢迎比聪明更重要。但出了学校,到了真实世界,聪明和能力比受欢迎更重要。
格雷厄姆说,书呆子在学校里不受欢迎,不是因为他们不擅长社交,而是因为他们不把社交当作最重要的事。他们有更重要的事要做——学习、思考、创造。
这个观点让我很有共鸣。我上学的时候也是个书呆子,朋友不多,不太合群。那时候觉得是自己的问题,现在看来,只是因为我把时间花在了我认为更重要的事情上。
而且,出了学校之后,书呆子往往混得不错。因为真实世界奖励的是能力和创造,而不是社交技巧。
2. 黑客如何工作
格雷厄姆在这篇文章里讲了黑客的工作方式。
他说,黑客的工作方式和画家很像:
- 不是先画好蓝图再动手,而是边做边改
- 不是一次性完成,而是不断迭代
- 不是按部就班,而是有灵感的时候效率最高
- 不是孤立工作,而是需要交流和反馈
这和传统的软件工程方法很不一样。传统方法强调需求分析、设计、编码、测试的瀑布流程。但格雷厄姆认为,好的软件是"长"出来的,不是"建"出来的。
他还说,黑客需要有好的工具。就像画家需要好的画笔和颜料,黑客需要好的编程语言和开发环境。
这个观点影响了后来的敏捷开发和快速迭代。现在的互联网公司,都是小步快跑、持续迭代,这和格雷厄姆说的黑客工作方式是一致的。
3. 为什么书呆子不受欢迎(续):受欢迎的本质
格雷厄姆还分析了受欢迎的本质。他说,在学校里,受欢迎的人往往是那些最会经营人际关系的人,而不是最聪明或最有能力的人。
但这种受欢迎是虚假的。它建立在一个封闭的小社会里,出了这个小社会就没用了。
他说,真正的自信,不是来自别人的认可,而是来自自己的能力和创造。当你能创造出有价值的东西时,你就不需要靠别人的认可来证明自己。
这个观点让我明白,不要太在意别人的看法。把时间花在提升自己、创造价值上,比花在经营人际关系上更有意义。
4. 另一条路:创业
格雷厄姆在书里讲了创业的故事。他创办Viaweb的经历,是最早的SaaS(软件即服务)创业之一。
他说,创业的好处是:
- 你可以做自己想做的产品
- 你可以按自己的方式工作
- 你的回报和你的付出成正比
- 你可以创造出有价值的东西
但创业也很辛苦:
- 工作时间长,压力大
- 收入不稳定
- 需要面对各种问题和挑战
- 成功率很低
格雷厄姆说,创业不适合所有人。但对于那些想创造、想自由、想掌控自己命运的人来说,创业是一条值得走的路。
这本书里关于创业的观点,后来成为了Y Combinator的核心理念,也影响了整整一代创业者。
5. 编程语言的设计
格雷厄姆是编程语言专家,他对编程语言有很多深刻的见解。
他认为,好的编程语言应该:
- 简洁:用最少的代码表达最多的意思
- 灵活:能适应不同的需求
- 强大:能表达复杂的逻辑
- 有趣:用起来让人愉快
他特别推崇Lisp语言,认为Lisp是最强大、最优雅的编程语言。他说,Lisp的宏(macro)系统,让程序员能扩展语言本身,这是其他语言做不到的。
虽然Lisp没有成为主流,但它的思想影响了很多现代语言。Python、Ruby、JavaScript等语言,都吸收了Lisp的一些特性。
格雷厄姆关于编程语言的观点,让我明白:编程语言不只是工具,更是一种思维方式。不同的语言,会让你用不同的方式思考问题。
6. 设计与研究
格雷厄姆在这篇文章里比较了设计和研究。
他说,设计是为了解决具体的问题,研究是为了探索未知。但好的设计和好的研究,有一些共同的特点:
- 好的设计是简单的
- 好的设计是永恒的
- 好的设计解决正确的问题
- 好的设计是不断迭代的
- 好的设计是有趣的
这些观点,不仅适用于产品设计,也适用于软件设计、建筑设计、甚至人生设计。
四、对我影响最大的文章
对我影响最大的,是这几篇文章:
1. 《黑客与画家》
这篇文章让我重新认识了程序员这个职业。编程不只是写代码,更是一种创造。好的程序员,就像好的画家一样,有技术、有审美、有创造力。
这篇文章让我为自己是一个程序员而自豪。
2. 《书呆子为什么不受欢迎》
这篇文章让我理解了自己的过去。上学时的不合群,不是我的问题,而是我把时间花在了更重要的事情上。
这篇文章也让我对那些"不合群"的孩子多了一份理解和宽容。
3. 《另一条路》
这篇文章讲创业,让我对创业有了初步的认识。虽然我后来没有创业,但这篇文章影响了我的工作态度:要像创业者一样思考,主动创造价值,而不是被动完成任务。
4. 《编程语言的设计》
这篇文章让我对编程语言有了更深的理解。我开始学习不同的编程语言,体会不同的编程范式,这大大提升了我的编程能力。
五、这本书的局限
当然,这本书也有一些局限。
1. 写作时间较早
这本书写于2000年代初,有些内容已经过时了。比如里面提到的一些技术和公司,现在已经不存在了。
但核心观点是不过时的。关于创造、关于创业、关于技术和艺术的关系,这些观点放到今天依然适用。
2. 有些观点比较理想化
格雷厄姆的有些观点比较理想化。比如他说黑客应该像画家一样自由创作,但在实际工作中,程序员往往要面对需求变更、项目截止、团队协作等现实问题。
但理想化不是坏事。有理想,才有追求的方向。
3. 主要面向程序员
这本书主要面向程序员和创业者。如果你不是这个圈子的人,可能有些内容不太好理解。
但即使不是程序员,这本书里关于创造、关于学习、关于人生的观点,也很有启发。
六、适合谁读
这本书适合这些人读:
- 程序员,尤其是刚入行的程序员
- 想创业的人
- 对技术文化感兴趣的人
- 想理解程序员思维方式的人
- 喜欢思考和创造的人
不适合:
- 想学习具体编程技术的人(这本书不教写代码)
- 不喜欢思考、只想读轻松读物的人
- 对技术完全不感兴趣的人
七、阅读建议
如果你想读这本书,给几个建议。
1. 不用按顺序读
这是一本文集,每篇文章独立。可以挑自己感兴趣的先读,不用按顺序。
我建议先读《黑客与画家》《书呆子为什么不受欢迎》《另一条路》这几篇,最有代表性。
2. 慢慢读
这本书虽然不厚,但内容很有深度。每篇文章都值得慢慢读、细细品味。
读的时候,想想自己的经历和工作,会有很多共鸣。
3. 结合格雷厄姆的其他文章
格雷厄姆的个人网站上有更多文章,都很值得读。这本书只是精选了一部分。
如果觉得这本书好,可以去他的网站上读更多。
4. 批判性地读
格雷厄姆的观点很深刻,但也不是全部正确。读的时候要批判性思考,结合自己的经验判断。
八、这本书如何改变了我
读《黑客与画家》,对我有很大的改变。
1. 对编程的理解变了
以前我觉得编程就是写代码实现功能。读完书我明白,编程是一种创造,好的代码是有美感的。
现在写代码的时候,我会追求代码的简洁、优雅、可维护性,而不只是能跑就行。
2. 对工作的态度变了
以前我觉得工作就是完成任务、拿工资。读完书我明白,工作也是创造价值的过程。
现在我会主动思考:我做的东西有没有价值?能不能做得更好?能不能创造更多?
3. 对学习的态度变了
以前我觉得学一门语言就够了。读完书我明白,不同的语言有不同的思维方式,多学几门语言能开阔眼界。
后来我学了Python、Go、Rust等语言,每学一门都有新的收获。
4. 对创业的理解变了
以前我觉得创业离我很远。读完书我明白,创业不只是开公司,更是一种心态:主动创造价值,解决问题,承担风险。
虽然我没有创业,但这种心态影响了我的工作和生活。
九、写在最后
《黑客与画家》是一本改变了我很多观念的书。
它让我明白,程序员不只是"码农",更是创造者。编程不只是一份工作,更是一种艺术。好的代码,就像好的画作一样,能给人带来美的享受。
它也让我明白,书呆子不是缺陷,而是一种特质。那些在学校里不受欢迎的孩子,可能只是把时间花在了更重要的事情上。出了学校,他们的才华会得到认可。
2022年了,程序员这个职业已经很普及了,但很多人对程序员的理解还停留在"修电脑的""写代码的"。希望更多人能读读这本书,理解程序员的文化和思维方式。
也希望每个程序员,都能从这本书里找到共鸣,为自己的职业感到自豪。
最后,用格雷厄姆的一句话结尾:"最好的黑客,和最好的画家一样,都是在创造美。"
愿我们都能在编程中,找到创造的快乐和美的享受。
评论(0)
暂无评论,快来抢沙发~
评论功能仅对会员开放,请先登录
登录