文章目录
这本书迫使你重新思考计算机编程的本质!!
一、书名和作者
书名为《黑客与画家》是由美国硅谷创业之父Paul Graham所著的经典书籍。
二、书籍概览
2.1 主要论点和结构
全书15章大致分为三个部分。
第一部分从第1章到第4章,解释了黑客是如何成长的以及他们看待世界的一些观点。
第二部分从第5章到第9章,解释了黑客怎样做出自己的成果,这些成果又是怎样对全世界产生了影响。
第三部分是第10章到第15章,解释了黑客的工具(编程语言)和工作方法,这是黑客文化的基础和核心。
2.2 目标读者和应用场景
本书适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。
三、核心观点与主题
3.1 黑客的成长
- 子观点1:受关注与合群
许多高智商的人,他们在学校里都被称为 “书呆子” ,跟大部分青少年一样,书呆子也想让自己合群、受欢迎,但相较这些,他们的脑子更愿意装着另外的事情—— 让自己变得更聪明 或 完成一些伟大的事 ,例如设计奇妙的火箭、写出漂亮的文章、理解编程原理等等,他们分心去干别的事情,没把心思放在研究合群与如何受到关注,因此书呆子往往不受欢迎。在变得聪明和变得受欢迎之间选择将时间分配给前者是他们做出的选择。书呆子常常被校园欺凌。但是,成年之后,发现正确的答案开始变得重要,书呆子的优势就体现出来了。由于青少年对成年人不具有经济价值,成年人创造出学校来关住青少年。一个高度自治的青少年社区是诞生党同伐异的温床。但是,书呆子能意识到学校并非全部的人生,因此能够坚持将时间花在变得聪明上。书呆子追求智力,并全身心投入,代价是饱尝不受欢迎之苦。比尔 · 盖茨不善于社交是出了名的,但是他发现了正确的答案,至少从收入上看是如此。许多黑客,特质也是如此。
- 子观点2:黑客与画家
黑客与画家是相似的行业,因为他们都是创作者。黑客的最高境界是通过先做出一个样品来创造规格。黑客喜欢开发优美的软件,但是为了配合论文研究的主题,黑客很容易把工作重点从开发优美的软件转移为开发一些丑陋的东西。不幸的是,由于交给时间判断所需要的时间太长了,人们更倾向于用论文来判断和评价一个黑客的工作。黑客需要记住他们的核心生产力是创意而不是数学,和数学家相比,黑客更像画家。为了做自己喜欢的事情,一个解决方案是“白天工作”,即一份赚钱的工作和一份为了爱好的工作。黑客和画家有许多相似之处:定期地从头开始有好处,通过实践学习编程,通过范例来学习,并且通过草图-细化的过程完成一件作品。黑客和画家都有对细节和美的狂热追求。除此以外,黑客和画家另一点相似之处是,工作起来是有心理周期的。黑客和画家在面对一项浩大项目的时候,分工也是类似的:需要合作,但是不要合作过头。编程语言是充满无限可能性的表达工具,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。
- 案例:比尔·盖茨
比尔·盖茨是计算机科学领域的杰出人物之一,社交能力出奇的比较差,因为他把时间放在了专研代码上,比尔·盖茨早在中学时就开始接触计算机。他在学校的计算机时间里表现出色,经常熬夜编写代码。盖茨在学校中表现出色,但他更愿意追求自己对计算机科学的兴趣,经常自学,通过阅读书籍和编写代码来深入了解计算机。盖茨在大学时与同学保罗·艾伦共同创建了著名的微软公司,成为了全球最富有的人之一。
3.2 创业
- 子观点1:创业公司的经济优势
由于互联网软件的程序员非常辛苦,所以会使得经济优势根本性地从大公司向创业公司转移。互联网软件要求的那种工作强度和付出,只有当公司是其本人所有时,程序员才愿意提供。软件公司可以雇到能干的人,让他们去干轻松的事情,也可以雇到不能干的人,让他们去干艰苦的事情,但是无法雇到非常能干的人,让他们去干非常艰苦的事情。 因为互联网软件的创业不需要太多的资本,所以大公司可以与创业公司竞争的优势就所剩无几了。如果你是一个黑客,并且梦想自己创业,可能会有两件事情令你望而却步,不敢真正开始采取行动。一件是你不懂管理企业,另一件是你害怕竞争。 可是实际上,这两件事都是没有通电的电篱笆。对于管理企业,只需要记住两点:做出用户喜欢的产品,保证开支小于收入。
对于害怕竞争,也只需要记住两点:大企业生产效率之低,反而是我们的执行力与优势之高。
- 子观点2:如何创造财富
如果你想致富,最好的办法就是自己创业,或者加入创业公司。几百年来,这一直是致富的可靠途径。从经济学观点看,创业可以被想象成一个压缩过程,所有工作年份被压缩成了短短几年。以压缩后的极限强度工作四年,在高技术领域,回报尤其丰厚。任何公司的成功历程中,运气都是一个很大的随机因素。金钱不等于财富。好的程序员是从零创造财富的人。在大公司里,公司无法测量一个程序员的真正贡献。高的收入和高的风险捆绑在可放大性的概念上。创业公司的真正意义在于挑选出最优秀的程序员组成一个团队,他们将自己的工作与其他高手的工作进行对比和平均化。高科技和可放大性挂钩。如果团队开发出来的技术是竞争对手难以复制的,那这个团队成功的概率就比较大。创业的一个潜规则是,竞争对手决定了你到底要有多辛苦。对于创业成功的团队来说,作者建议把用户数量当做一个测试指标,像优化软件一样优化公司,用户数量就是判断公司表现好坏的指标。在最后一节“财富和权力”中,作者指出,只要懂得藏富于民,国家就会变得强大;对管理者来说,让书呆子保住他们的血汗钱,管理者就会无敌于天下。
- 案例:Viaweb
作者是Viaweb的创始人之一。Viaweb是一家提供在线购物车服务的初创公司。他们利用互联网的崛起,为小型企业提供了创建在线商店的平台。Viaweb的成功部分归因于他们早期抓住了电子商务的机遇,为初创企业提供了低成本、易用的在线销售解决方案。公司的灵活性、强烈的执行力和快速迭代的能力也为其成功创造了条件。充分说明了当时条件下的创业公司的经济优势,也说明了致富最好的办法就是自己创业,或者加入创业公司
3.3 编程语言
- 子观点1:编程语言的设计
第十五章《设计与研究》讲的是设计的一款编程语言。作者认为,设计一款语言需要考虑用户需求,但不能迎合用户的一切要求,因为用户不了解所有可能的选择,也经常弄错自己真正想要的东西。低估用户一般来说总是会让设计师出错。为了做出优秀的设计,你必须贴近用户。士气非常重要,随时都能看到代码运行非常鼓舞人心。设计工作本身也必须符合设计师的特点和需要。
第十四章《梦寐以求的编程语言》讨论了编程语言流行的原因。如果想设计一种流行的编程语言,就不能只是单纯地设计语言本身,还必须为它找到一个依附的系统。要想让黑客喜欢上一个语言,它就需要是简洁的、可编程的、适合开发一次性程序的、有很多函数库的、使用好的性能分析器的、经受住时间考验的。为了设计一个优秀的语言,你需要把再设计周而复始地进行下去。
- 子观点2:未来的编程语言
第十一章《一百年后的编程语言》讨论了一百年后的人类使用什么语言开发软件。一百年后计算机的运算能力会增强许多,因此现在需要考虑的语言的效率在一百年后就不用考虑了,那时候的程序员考虑的可能是容易上手的语言。面向对象由于有很强的可重用性,因此作者认为面向对象编程将来不会消亡。在设计一百年后的语言这一领域,作者认为,(1)一百年后的语言在理论上今天就能设计出来;(2)如果今天真能设计出这样一种语言,很可能现在就适合编程,并且能产生更好的结果。作者建议语言发明者通过紧盯目标来使发明中规中矩。
- 案例:编程语言Lisp
对Lisp编程语言的介绍是书中一个引人注目的部分。他对Lisp的热爱和推崇体现了对编程艺术的深刻理解。对Lisp最为欣赏的一点是其简洁而强大的语法。相对于其他编程语言,Lisp的语法非常简单,这使得程序员能够更专注于解决问题而不是被复杂的语法所困扰。这种简洁性使得Lisp成为一门极富表现力的语言。Lisp使用符号表达式,或简称S-Expression,来表示程序和数据。这种表达方式非常简单且易于理解。程序和数据在Lisp中都是用相同的结构表示,这种一致性增强了语言的简洁性和灵活性。Lisp的宏系统是作者特别强调的一个特点。宏允许程序员在编译阶段进行代码的生成和转换,这使得Lisp具有极高的抽象能力。通过宏,程序员可以创建新的语法结构,使得代码更加清晰和高效。
3.4 黑客特质
- 子观点1:好奇心和质疑
优秀作品往往来自其他人忽视的想法,而最被忽视的想法就是那些被禁锢的思想观点,智力越高的人,越愿意去思考那些惊世骇俗的思想观点。不要让自己成为人群的一分子,而要尽可能地远离人群,观察正在发生的事情,特别注意那些被压制的思想观点,保持清晰地思考。 但是走得越远,你的处境就会越困难,受到的阻力也会越大,因为你没有迎合社会习俗,而是一步步地与它背道而驰。小时候,每个人都会鼓励你不断成长,变成一心智成熟、不再耍小孩子脾气的人。但是,很少有人鼓励继续成长,变成一个怀疑和抵制社会错误潮流的人。
- 子观点2:良好的坏习惯
在大众眼里,黑客(hacker)就是入侵计算机的人。可是,在程序员眼里,黑客指的是优秀程序员。他们不仅能力精通,而且有许多 良好的坏习惯。总体来看,黑客是不服从管教的。黑客面对版权和禁止复制的技术的第一反应时破解它,因为保护知识产权的力度不断增大,已经威胁到了他们完成工作所必需的思想自由。黑客是不服从管教的,并且很关注公民自由。占据高位、本能地想要约束黑客、强迫黑客服从的人可能成为千古罪人。黑客做事不符常规,正常人往往会使用寻常做法,而他们会诞生许多不符常规的聪明做法。黑客不服从管教、思想自由,如果总是服从管教,按部就班,那他们也就无法成为优秀程序员,无法逾越很多障碍,无法做技术创新。
- 案例:GNU计划和自由软件基金会
GNU是“GNU’s Not Unix”的递归缩写,是由理查德·斯托曼(Richard Stallman)发起的一个计划。斯托曼希望创建一个完全自由的Unix操作系统,以反对当时封闭的软件分发模式。他提出了“自由软件”的概念,即用户有权利查看、修改和分享软件的源代码.GNU计划的目标是构建一个自由、开放源代码的Unix操作系统,以确保用户能够享有使用、修改和分享软件的自由。黑客文化强调对好奇心的推崇和对权威的怀疑。自由是创新和进步的必要条件。GNU计划和自由软件基金会旨在推动自由软件的开发和使用。通过开源的方式,他们提倡用户能够自由地查看、修改和分享软件代码,促进了技术的自由和创新。开源运动为技术社区带来了广泛的参与和贡献。Linux操作系统作为一个开源项目取得了巨大成功。全球的开发者共同贡献代码,形成了一个庞大的开源社区,为技术的不断演进提供了动力。
四、亮点与启发
4.1 最有影响的观点
书中介绍了黑客文化的价值观,强调了对好奇心的推崇、对自由的追求以及对技术的热爱。这种文化对于推动创新和技术发展有着积极的影响。此外作者提出了“用餐桌式”创业的概念,强调小团队的灵活性和迅速行动的重要性。他认为,创业公司最初应该像一群朋友一起吃饭,而不是像大企业那样组织繁重。书中对创业的讨论强调了创业者的独特品质和对问题的独特见解的重要性。作者认为,真正的创业者应该有独特的洞察力,能够看到别人看不到的机会。
4.2 对个人专业发展的启示
(1)保持创新;采取黑客精神,不断寻求创新的机会和方法,挑战现有的做法和思维模式,尝试寻找独特的解决方案,以满足市场需求并获得竞争优势。(2)用户体验至上;在科技创业中,要注重用户的需求和体验,通过深入了解用户的问题和痛点,设计出符合用户期望的产品和服务,提供出色的用户体验,建立用户忠诚度和口碑。(3)创业文化和团队建设;在科技创业中,要重视创业文化的塑造和团队建设。建立积极的工作环境和氛围,鼓励团队成员的创造力和合作精神,激发团队的创新能力和协同效应。(4)风险与回报;在科技创业中,要有勇于冒险和承担风险的精神,同时要进行合理的风险评估和管理。明确目标并制定明确的计划,同时要有灵活性和适应性,及时调整策略,以最大程度地实现回报。
五、批评与局限性
5.1 可能存在的争议和过时的信息
本书中可能存在争议的地方在于(1)对编程语言Lisp的推崇: 作者在书中对Lisp语言的推崇,尤其是将其描述为一种优越于其他语言的工具,可能在业界引起了争议。不同的编程语言适用于不同的场景和需求,而Lisp并不是每个项目的最佳选择。(2)创业观点的普遍适用性: 书中关于创业的观点可能不适用于所有行业和情境。一些建议,如“用餐桌式”创业,可能在某些领域更容易实现,而在其他领域可能并不切实际。(3)对技术人才的刻板印象: 书中对技术人才可能存在刻板印象,其中的描述过于理想化,而没有充分考虑到团队合作和多元化的重要性。(4)书中部分观点的时效性: 由于技术和商业环境的迅速变化,一些书中的观点和案例可能在今天看来已经过时。读者在阅读时应保持对时代背景的理解。(5)对商业伦理的处理: 在书中,有时作者对于商业伦理的看法可能较为激进,例如他提到有些公司可能追求利润而不顾一切。这种观点可能引起一些争议,因为对于企业社会责任的要求越来越受到关注。
5.2 可能的不足及缺陷
可能存在的不足及缺陷:(1)过于理想化;书中对技术人员和创业的描述过于理想化,忽略了现实中可能存在的困难和挑战。实际中,创业和技术领域的成功往往伴随着许多不确定性和失败。(2)行业特定性;书中的观点和案例主要集中在技术和创业领域,可能不适用于其他行业或专业领域。(3)缺乏多样性;书中的视角相对狭窄,缺乏对多样性和包容性的足够强调。这可能使得书中的观点难以适用于不同背景和经验的读者。(4)技术时效性;由于技术迅速发展,书中的一些技术观点和案例可能已经过时。(5)过分注重个人经历;书中的很多观点是建立在作者的个人经历和观察基础上的,这可能导致缺乏普适性。
六、实际应用和拓展
6.1 在实际工作学习中应用这些概念的方法
在实际工作学习中应用这些概念的方法包括(1)保持好奇心和学习态度: 不断保持对新事物的好奇心,积极追求知识和技能的扩展。在工作或学习中,不断学习新的工具、技术和方法,以保持竞争力。(2)倡导创新思维: 鼓励团队成员提出新的想法和解决方案,营造创新的工作环境。对问题采取不同寻常的角度,寻找非传统的解决方案。(3)用餐桌式的团队合作: 在团队中倡导灵活性和迅速行动,鼓励小团队的合作。促进沟通和协作,降低组织层级,以更快速地适应变化。
6.2 对未来研究实践的建议
对未来研究实践的建议具体包括(1)实践好奇心: 尽量保持对新事物的好奇心,不断追求知识和经验的积累。积极参与各种项目和活动,拓宽自己的视野。(2)努力追求卓越: 在工作中追求卓越,注重提高工作效率、提升技术水平,并寻求创新的解决方案。不满足于表面的成就,持续追求提升。(3)建立个人品牌: 在职业生涯中,注意建立和维护个人品牌。参与开源项目、写作、分享经验,这些都可以有助于展示个人的专业能力和见解。
七、总结与评价
7.1 整体评价
《黑客与画家》是一本引人深思的著作,由硅谷创业者Paul Graham撰写。书中深刻而独到地剖析了技术、创新和创业的本质,激发了读者对好奇心、卓越和创新的追求。通过生动的案例和故事,书籍不仅传达了对编程和技术的深厚热爱,还强调了小团队协作和灵活性在创业中的关键作用。该书通过深入浅出的方式,以其独特的视角和深刻的见解,吸引了广大计算机科学、创新和创业领域的读者,并对技术和社会的相互关系提出了独到的见解。
7.2 长处和短处
该书的长处在于(1)深刻的见解;书中包含了保罗·格雷厄姆对技术和创业的深刻见解。他的观点不仅仅局限于技术本身,还涵盖了与之相关的伦理、文化和社会层面。(2)激发创新思维;书籍通过对黑客文化和创业精神的探讨,激发了读者的创新思维。它鼓励读者追求卓越,挑战传统,寻找新的解决方案。(3)生动的案例和故事;书中插入了许多有趣的案例和个人经历,这些故事使得理论更加生动和易于理解。这种生动性增强了读者对概念的认识。
缺点在于(1)过于理想化;书中的一些观点和建议可能过于理想化,不一定适用于所有的行业和情境。现实中,创业和技术发展可能伴随着更多的挑战和不确定性。(2)行业特定性;书中的观点主要集中在技术和创业领域,可能对其他行业的读者的适用性较弱。非技术背景的读者可能会感到某些观点难以与其现实情境联系起来。(3)技术时效性;由于技术领域的快速变化,书中一些技术观点可能已经过时。读者需要谨慎考虑这些观点,并在实践中结合当前的技术趋势。