简介
《黑客与画家》是由Paul Graham所著的一本书,首次出版于2004年。Paul Graham是一位知名的程序员、风险投资家以及Essayist,他在书中结合自己在计算机科学和软件工程领域的丰富经验,探讨了软件编程、创业精神、设计美学以及文化等多个主题。
这本书分为几个部分,涵盖了从编程到美学,再到社会评论的广泛主题。Graham用其独特的视角分析了为什么软件编程像画画一样是一种艺术,他讨论了创业公司的运作方式,以及如何在高度竞争的环境中生存和成功。书中也包含了对教育系统、语言的权力、以及社会结构的深刻见解。
《黑客与画家》被视为启发技术和创业圈思考的重要作品之一,特别是对于那些希望在科技行业中找到自己位置的年轻程序员和企业家。它不仅提供了关于编程和技术的实用建议,还启发读者思考如何将技术与创意结合,推动创新和进步。
有感
这本书为身为技术人员的我,提供了一个新视角,看待程序员职业和技术创业这两件事。
- 程序员更像是画家,而不是科学家。本质上,程序员是在创造性地满足人们的各类需求,而不是探索一些未知领域。
- 创业可以同时获得可测量性和可放大性,是致富的可靠途径。相比低强度工作四十年,创业是将其压缩成高强度工作的几年。
摘录
- 因为黑客更像创作者,而不是科学家,所以要了解黑客,不应该在科学家身上寻找启示,而是应该观察其他类型的创作者。
- 软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册。
- 大多数的斗争,不管它们实际上争的是什么,都会以思想斗争的形式表现出来。
- 优秀作品往往来自于其他人忽视的想法,而最被忽视的想法就是那些被禁止的思想观点。
- 训练自己去想那些不能想的事情,你获得的好处会超过所得到的想法本身。
- 在思想和言论之间划一条明确的界线。在心里无所不想,但是不一定要说出来。
- 大多数人,在大多数时候,总是选择最省事的做法。如果互联网软件能够击败桌面软件,一定是赢在更方便这一优势上。
- 实现某个构思,会带来更多的构思。所以,将一个构思束之高阁,不仅意味着延迟它的实现,还意味着延迟所有在实现过程中激发的构思。
- 软件开发不是静态的,而是一个持续不断的动态过程。“订阅模式”正是互联网软件天然的收费模式,而不是用户一次性买断。
- “价格歧视”是针对不同的客户给出不同的报价,使得利润最大化 。软件的定价特别适合采用价格歧视,因为软件的边际成本接近于零。
- 盗版实质上是一种价格歧视,只不过针对的是最底层的消费者。
- 互联网软件要求的那种工作强度和付出,只有当公司是其本人所有时,程序员才愿意提供。
- 管理企业其实很简单,只要记住两点就可以了:做出用户喜欢的产品,保证开支小于收入。
- 如果你想致富,应该怎么做?我认为最好的办法就是自己创业,或者加入创业公司。几百年来,这一直是致富的可靠途径。“创业公司”( startup)这个词诞生于 20世纪 60年代,但是它与中世纪集资进行的航海冒险活动其实也相差无几。
- 从经济学观点看,你可以把创业想象成一个压缩过程,你的所有工作年份被压缩成了短短几年。你不再是低强度地工作四十年,而是以极限强度工作四年。在高技术领域,这种压缩的回报尤其丰厚,工作效率越高,额外报酬就越高。
- 要致富,你需要两样东西:可测量性和可放大性。
- 创业公司为每个人提供了一条途径,同时获得可测量性和可放大性。因为创业公司是小团队,所以具备可测量性。因为创业公司通过发明新技术盈利,所以具备可放大性。
- 技术就是钓鱼的鱼竿,而不是那条鱼。大多数因为创造财富而发财的人都是通过开发新技术而实现的。你不可能通过煎鸡蛋或剪头发而致富,因为使用你的服务的人是有限的。
- 财富是用工作成果衡量的,而不是用它花费的成本衡量的。
- 技术在加大收入差距的同时,缩小了大部分的其他差距。
- 推动人才成批涌现的最大因素就是,让有天赋的人聚在一起,共同解决某个难题。互相激励比天赋更重要,达·芬奇之所以成为达·芬奇,主要原因不仅仅是他的天赋,更重要的是他生活在当时的佛罗伦萨,而不是米兰。
- 在历史的任何时刻都有一些热点项目,一些团体在这些项目上做出伟大的成绩。如果你远离这些中心,几乎不可能单靠自己就取得伟大成果。某种程度上,你个人最多可以对趋势产生一定的影响,但是你不可能决定趋势,实际上是趋势决定了你。
- 使用一种不常见的语言会出现的问题我想到了三个:你的程序可能无法很好地与使用其他语言写的程序协同工作;你可能找不到很多函数库;你可能不容易雇到程序员。
- 函数库的重要性也取决于你的应用程序。对于那些条件不苛刻的应用,有没有一个好的函数库比语言本身的能力更重要。
- 编程语言的所谓“业界最佳实践”,实际上不会让你变成最佳,只会让你变得很平常。
- 让用户满意并不等于迎合用户的一切要求。用户不了解所有可能的选择,也经常弄错自己真正想要的东西。
- 弱即是强,指软件功能的增加并不必然带来质量的提高,更少的功能(“弱”)反而是更好的选择(“强”),因为这会使得软件的可用性提高。
- 先做出原型,再逐步加工做出成品,这种方式有利于鼓舞士气,因为它使得你随时都可以看到工作的成效。
- 画作永远没有完工的一天,你只是不再画下去而已。