美文网首页我也码
《黑客与画家》读书笔记

《黑客与画家》读书笔记

作者: 春暖花开奇奇乐乐 | 来源:发表于2019-07-29 12:16 被阅读0次

    日期:2019年6月10日

    书名:《黑客与画家》

    进度:15%

    读书笔记:

    1. 保罗·格雷厄姆的创业公式是:#1. 搭建原型。#2. 上线运营(别管bug)。#3. 收集反馈。#4. 调整产品。#5. 成长壮大。

    2. “你需要倾听用户的声音,琢磨他们需要什么,然后就去做。” Make something people want.

    3. “创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。这种类型的工作很难用研究性的论文表达。”

    日期:2019年6月21日

    书名:《黑客与画家》

    进度:35% 

    读书笔记:

    几个画画与编程想通的点:

    1. 关于范例。怎么学画画呢?可以临摹大师的作品。作家可以靠总结和模仿别人的文章学写作。程序员也可以通过看优秀的程序学会编程。这么说来,开源的运动让学编程的难度大大降低了。

    2. 关于修改。一幅画从构思、草图到填入细节,中间可能会经历多次修改。作者认为,编程也应如此。作者也因此反对过早优化和过早设计,认为动态类型语言更具灵活性。

    3. 关于注重细节。达芬奇的《女性肖像》(Ginevra de' Benci)(现保存在美国国家美术馆)的背景画的非常细致。他仔细地画出了树枝上的每一片叶子。也许没人会认真看。但达芬奇依然一丝不苟,绝不降低对自己的要求。同样地,优秀的软件也要求对美的狂热追求。优秀软件没人看见的内部也是优美的。“坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变得可见了。”

    4. 关于创新。黑客和画家一样,是创新性的工作,工作起来是有心理周期的。而且,他认为,消灭bug是轻松的工作内容。就像解一道数学题,已知许许多多的约束条件,你只要根据条件对方程求解就可以了。你的程序应该能产生X结果,但是却产生了Y结果。哪里出错了?

    5. 关于合作。许多教堂的壁画都是多人一起合作画完的,每个人负责画其中的几个人物。米开朗基罗坚持一个人画完了罗马的西斯廷大教堂(Sistine Chapel)天顶壁画中的许多人物,还被认为特别死心眼儿。软件开发也需要合作,不过要分工明确,每个模块都要严格明确负责人(owner),若合作过头,没人真正负责,代码就没人管理,全是冗余代码,就像公用储物间一样脏乱。

    6. 关于考虑用户的人性需要。大多数画作是为人类用户而创作。大多数软件是为人类用户准备的。为了吸引用户,你必须理解用户需要什么。比如,几乎所有最伟大的绘画作品都是画人的,因为人类总是对自身感兴趣。只有时刻考虑到用户的人性需要,站在用户的角度思考问题,换位思考,才能做出伟大的产品。“换位思考”并不意味着你要做自我牺牲。了解别人对于事情的看法,并不代表你为他的利益服务。某些情况下,比如打仗的时候,了解对手正是为了打击对手。以自我为中心的人很难设计出优秀软件。

    7.《计算机程序的结构与解释》一书的卷首语:程序是写出来给人看的,附带能在机器上运行。

    "Programs must be written for people to read, and only incidentally for machines to execute."

    - Abelson & Sussman, SICP, preface to the first edition

    日期:2019年6月25日

    书名:《黑客与画家》

    进度: 46% 

    读书笔记:

    1. 管理企业其实很简单,只要记住两点就可以了:做出用户喜欢的产品,并保证开支小于收入。

    2. 致富的最好方法就是为社会创造财富。创造财富的最好方法就是创业,通过创造有价值的东西在市场上得到回报,从而致富。

    3. 财富才是你的目标,金钱不是。金钱是财富的一种简便的表达方式。金钱是专业化的副产品。

    4. 公司就是许多人聚在一起通过创造人们需要的东西来创造财富的地方。

    日期:2019年6月26日

    书名:《黑客与画家》

    进度:49% 

    章节:工作是什么?

    1. “在工业化国家,一个人至少在20岁前,总是从属于这样或那样的某个组织。经过这么多年,你已经习惯了自己属于这样一群人,早上全部起床,都来到同样几幢建筑物,开始做正常情况下没兴趣做的事情。这样的组织变成了你身份标志之一:姓名、年龄、头衔、组织名称。如果你要做自我介绍或者他人需要描述你,结果无非就是,张三,10岁,某某小学的学生,或者,张三,20岁,某某大学的学生。”

    2. 虽然公司和学校都是类似的社会组织,但他们本质上有很大区别。

    3. “公司的一切行为的目的都是盈利,从而生存下去。创造财富是大多数公司盈利的手段。”

    4. 财富就意味着人们需要的东西。几乎所有情况下,公司的存在目的就是满足人们的某种需要。

    5. 一个大学毕业生总是想“我需要一份工作”,别人也是这么对他说的,好像变成某个组织的成员是一件多么重要的事情。更直接的表达方式应该是“你需要去做一些人们需要的东西”。即使不加入公司,你也能做到。公司不过是一群人在一起工作,共同作出某种人们需要的东西。真正重要的是做出人们需要的东西,而不是加入某个公司。

    6. “大公司会使得每个员工的贡献平均化,这是一个问题。我觉得,大公司最大的困扰就是无法准确测量每个员工的贡献。大多数时候它只是在瞎猜。在大公司中,你只要一般性地努力工作,就能得到意料之中的薪水。你不能明显无能或懒惰,但是谁也没觉得你会把全部精力投入工作。”

    7. 这是因为大公司无法准确测量你的贡献。销售员是一个例外,他们产生的收入很容易测量。除了销售员,大公司的高级管理职位的影响也是可测量的。但是公司不可能对每个人都像销售员那样付薪。在大公司,个人的表现无法单独测量,公司里其他人会拖累你。

    8. “要致富,你需要两样东西:可测量性和可放大性。你的职位产生的业绩,应该是可测量的,否则你做的再多,也不会得到更多的报酬。此外,你必须有可放大性,也就是说你做出的决定能够产生巨大的效应。”

    9. 看是否存在可放大性,那就看失败的可能性,因为可放大性伴随着风险。

    10. 小团体=可测量性  高科技=可放大性 

    11. “创业公司为每个人提供了一条途径,可以同时获得可测量性和可放大性。因为创业公司是小团队,所以具备可测量性。因为创业公司通过发明新技术盈利,应用了杠杆效应,所以具备可放大性。”

    12. “什么是技术?技术就是某种手段,就是我们做事的方式。如果你发现了一种做事的新方式,它的经济价值就取决于有多少人使用这种新方式。技术就是钓鱼的鱼竿,而不是那条鱼。这就是创业公司与餐馆或理发店的区别。”

    13. “选择公司要解决什么问题应该以问题的难度作为指引,而且此后的各种决策都应该以此为原则。” Viaweb的一个经验法则就是“更上一层楼”。“假定你是一个手脚敏捷的小男孩,身后有一条壮硕的大狗正在追你。你跑到楼梯口,这时应该上楼还是下楼?”如果下楼的话,大狗可能跑得跟你一样快。上楼的话,大狗的庞大身躯就将成为劣势。不错,跑上楼你会比较吃力,但是大狗会感到更吃力。” 在实际操作中,这就意味着我们故意选择那些很困难的技术问题。我们很乐于迫使那些又大又慢的竞争对手跟着我们一起走进沼泽地。创业公司就像游击队一样,喜欢选择不易生存的深山老林作为根据地,政府的正规军无法追到那种地方。这不仅是创业公司运作的好方法,更是创业公司的本质。VC知道这个道理,称之为进入壁垒(barriers to entry)。这关系到别人复制你的模式是否很困难,也就是说,你为竞争对手设置的壁垒有多高。如果你的模式很容易模仿,大公司看到了,会做出自己的版本,再加上它们的品牌、资本、经销能力,一夜之间就把你的市场全部抢走。那时你就像来到开阔地带的游击队,会被正规军一举歼灭。

    14. 设置“进入壁垒”的方法之一就是申请专利。但是专利的保护程度可能不高。竞争对手也通常能找到绕过专利的方法。

    15. 俗话说得好,最好的防御就是进攻。如果你开发出来的技术是竞争对手难于复制的,那就够了,你不需要依靠其他防御手段了。

    16. “选择难的那个”也是很好的处事原则。如果你有一难一易两个选择,就选较难的那个。如,你要在“坐在家里看电视”和“外出跑步”之间选择。

    日期:2019年6月27日

    书名:《黑客与画家》

    进度: 62% 

    1. 创业潜规则之一:很多事情由不得你。如,你无法决定付出多少。你的竞争对手决定了你到底要有多辛苦,而他们做出的决定都是一样的:你能吃多少苦,我们就能吃多少苦。

    2. 创业潜规则之二:创业的付出与回报虽然总体上是成正比的,但是在个体上试不成正比的。(对于很多人来说,付出与回报之间存在一个很随机的放大因子。你努力30倍,最后得到的回报在现实中并不是30倍,而是0到1000倍之间的一个随机数。假定所有创业者都努力30倍,最后他们得到的总体平均回报是30倍,中位数确是0。)注:平均数是算术平均值,会受到个别极端值的影响;中位数是最中间的那个值,不受个别极端值的影响。

    3. 创业潜规则之三:要么赢得一切,要么彻底消失,具有大起大落的特点。如果厌恶风险,保险的做法就是在早期卖掉自己的创业公司,放弃未来发展壮大的机会,只求数量较少但是更有把握的回报。

    4. 创业潜规则之四:用户数量。用户数量是最重要的收购动机。用户是你证明自己创造了财富的唯一证据。用户数量也许不是最好的测量指标,但也相差不远了。买家关心它,收入依赖它,竞争对手恐惧它,记者和潜在用户则会被它打动。

    5. 像优化软件一样优化公司,用户数量就是判断公司表现好坏的指标。做过软件优化的人都知道,优化难点就是如何测出系统的表现。将公司管理视同软件优化还能帮助你避免VC担心的另一个陷阱——开发某种产品的时间过长。(尽快拿出1.0版,然后根据用户的反映而不是自己的猜测进行软件优化)

    6. 创业潜规则之五:满足用户需求。你必须时刻牢记这条最基本的原则——创造人们需要的东西(也就是创造财富)。

    7. 创造财富不是致富的唯一方法。在几个世纪前,财富的主要来源还是矿石、奴隶、农奴、土地、牲畜,而快速获得财富的方法只有继承、婚姻、征服、没收。所以,很自然地,财富的名声不好。法律(自己的财产有了保证)和工业化这两个因素提供了促使人们通过技术革新致富的条件。如今,通过创造财富而致富已经成为了普遍的模式。每一个这样做的人差不多都应用了同样的诀窍:可测量性和可放大性。前者来自小团队的合作,后者来自开发新技术。

    8. 与下棋、画画、写小说一样,赚钱也是一种专门的技能。但是,出于某种原因,我们以完全不同的态度对待这种技能。我认为原因有三点。第一,我们对财富的看法,从小就被误导了;第二,历史上积累财富的方式大多名声不好;第三,担心收入差距拉大将对社会产生不利影响。

    9. 财富和金钱是两个概念。金钱只是用来交易财务的一种手段,财富才是最有价值的东西。我们购买的商品和服务都属于财富。

    10. 财富从何而来?财富是创造出来的,而且创造得不太均等。(小偷和投机者除外)当然,做出人们需要的东西并不是赚钱的唯一方法。抢银行、索贿、垄断市场也能搞到钱,并且是某些富豪最大的财富来源。但这些手段不能代表财富的全部。

    11. 我们把由父母供给收入的模式称为“老爹模式”。这个模式与真实世界的最大区别之一就是对勤奋工作的评价不同。在老爹模式中,勤奋工作本身就是值得的,老爹会感到很高兴。但是在现实中,财富是用工作成果衡量的,而不是用它花费的成本衡量的。“不公平”这三个字就是“老爹模式”的独门标志。

    12. 中产阶级的出现使得财富总量不再是一个固定不变的值,财富的分配也不再是一种零和游戏。

    日期:2019年7月8日

    书名:《黑客与画家》

    进度:65%

    读书笔记:

    看了“设计者的品位:如何做出优秀的东西?”这一章。作者认为,优秀设计的原则是许多学科的共同原则,并提炼出了几条好设计的标准。

    1. 好设计是简单的设计。这是因为,简单关乎本质和真正的问题。

    2. 好设计是永不过时的设计。好作品长盛不衰,具有独特的魅力,能避开时代风潮的影响。

    3. 好设计是解决主要问题的设计。好设计的主要方向是解决问题。不好的设计,大多从一开始,方向就错了。

    4. 好设计是有启发性的设计。

    5. 好设计通常是有点儿趣味性的设计。

    6. 好设计是艰苦的设计。困难的问题需要艰巨的付出才能解决。不过作者也提醒,并非所有的痛苦都是值得的。世界上有有益的痛苦,也有无益的痛苦。觉得这句话也很有意思:人们常常觉得野生动物非常优美,原因就是它们的生活非常艰苦,在外形上不可能有多余的部分了。

    7. 好设计是看似容易的设计。如,作家的文章读起来流畅自如,但是背后其实经过了反复修改。在大多数领域,看上去容易的事情背后都需要大量的练习,练习的作用,也许是训练你把刻意为之的事情变成一种自觉的行为。有时,我们的训练只是为了让身体养成下意识的反应。

    8. 好设计是对称的设计。对称有两种,重复性对称和递归性对称,递归性对称就是指子元素的重复,比如树叶上叶脉的纹路。这条同样适用于写作,数学和工程学。巴黎的埃菲尔铁塔的外形是递归的,大塔上面还有小塔。

    9. 好设计是模仿大自然的设计。大自然在长期的演化中,已经解决解决了很多设计问题。所以如果你的设计与大自然很接近,那么,他基本上不会很差。模仿大自然也是工程学的有效方法。

    10. 好设计是一种再设计。专家的做法是先完成一个早期原型,然后提出修改计划,最后把早期原型扔掉。

    11. 好设计是能够复制的设计。刚入门的新手不知不觉地模仿他人,逐渐熟练之后才开始创作原创性作品,最后他会意识到,把事情做对比原创更重要。等你逐渐对一件事产生热情的时候,就不会满足于模仿了,你的品位就进入了第二阶段,开始自觉的进行原创,我想,最伟大的大师最终会达到一种超脱自我的境界。

    12. 好设计常常是奇特的设计。我觉得奇特这个特点是无法培育的。

    13. 好设计是成批出现的。推动人才成批涌现的最大因素就是,让有天赋的人聚在一起,共同解决某个难题。如果你远离一些中心和趋势,几乎不可能单靠自己取得伟大成果。

    14. 好设计常常是大胆的设计。在任何一段历史中,人们都会把某些荒谬的东西当做正确的,并且深信不疑。单单是无法忍受丑陋的东西还不够,只有对这个领域非常熟悉,你才可能发现哪些地方可以动手改进。优秀作品的秘诀就是,非常严格的品味,再加上实现这种品位的能力。

    日期:2019年7月9日

    书名:《黑客与画家》

    进度:67%

    读书笔记:

    今天看了“编程语言:什么是编程语言?为什么它们现在很热门?”这一章。

    1. 所有机器都有一张操作命令清单,让你可以控制它。机器语言是计算机的操作命令的总和。

    2. 汇编语言比机器语言写起来稍微方便一点。如,机器语言的加法命令是11001101,汇编语言的加法命令是add。机器语言和汇编语言的共同问题是,只能让大多数计算机做一些很简单的事。

    3. 使用编译器简便书写的程序语言叫做高级语言。编译器就像一个助手,把你的程序命令转变为硬件可以理解的汇编语言。高级语言让你能够使用更强大更方便的命令开发程序。高级语言的另一个优点是,它使得程序更具有可移植性,要在计算机语言不同的机型上运行,只需要重写编译器。

    4. 高级语言的两种实现方法:编译器和解释器。前者先将整个程序全部翻译成机器语言,然后再运行。后者实时的将代码一行一行地解释为相应的机器语言再运行。

    5. 编译器处理的高级语言代码又叫做源码,经过翻译以后产生的机器码叫做目标码。

    6. 目标码很难读懂,所以相当于被加密了,可以保护公司的商业秘密。但是后来出现另一种潮流:开放源码的软件,你可以得到源码,并且可以不受限制的修改它。理论上你也许可以破解目标码,但是实际上这是非常难的,另一方面软件的授权协议一般也不允许你这样做。

    7. 开放源码的优势在于,可以自己动手解决bug,而且所有人都可以参与进来。所以,开源软件就像一篇经受同行评议的论文。

    日期:2019年7月10日

    书名:《黑客与画家》

    进度:69%

    读书笔记:

    今天看了“语言的战争”

    1. 开发某个计算机游戏时,需要在微观水平控制硬件,使得游戏速度最大限度提高,就可能还会用到汇编语言。

    2. C语言是一种低层次语言,很接近汇编语言。大多数操作系统都是用C语言写的,主要是因为关乎运行速度。

    3. 编程语言可以变得很抽象,完全脱离硬件,但也有可能朝着错误的方向发展了。

    4. 静态类型语言与动态类型语言之争是目前最活跃的议题之一。在静态类型语言中,写代码时必须知道每个变量的类型。而在动态类型语言中,随便什么时候,你都可以把变量设为任意类型的值。静态类型语言可以防止bug并迅速生成代码,但同时也对程序构成了限制。

    5. 作者认为,现在出现了编程语言的文艺复兴,每隔一段时间就出站一种新的语言,其中有一些“头重脚轻”的语言:内核设计的不好,函数库却超级强大。

    6. 当前的现状是“编程语言的文艺复兴”同时也是“编程语言的战争”。这并不矛盾,文艺复兴时期是存在很多战争的。

    日期:2019年7月11日

    书名:《黑客与画家》

    进度:69%

    读书笔记:

    今天看了“一百年后的编程语言:一百年后,人类怎样编程?为什么不从现在开始就这样编程呢?”

    1. 作者认为,编程语言就像生物物种一样,存在一个进化的脉络,许许多多的分支最终都会成为进化的死胡同。但是,编程语言的进化与生物学进化还是有区别的,因为不同分支的语言会发生聚合。不同生物物种发生聚合的可能性很低。编程语言之所以可能出现聚合,因为它的概率空间比较小,而且它的突变不是随机的,语言的设计者们总是有意识地借鉴其他语言的设计思想。

    2. 作者认为Java的进化之路已经走到了尽头。

    3. 作者认为选择进化的主干可能是最佳方案,因此要选择靠近主干的语言。

    4. 作者的判断是,那些内核最小最干净的编程语言才会存在于进化的主干上。一种语言的内核设计的越小、越干净,它的生命力就越顽强。因为冗余的代码会导致更多冗余的代码,最终就被摒弃了。

    5. 作者认为,软件发展的历史已经走过了50年,在这50年中,编程语言的进化其实是非常缓慢的。这是因为编程语言并不是真正的技术。语言只是一种书写法,而程序则是一种严格符合规则的描述,以书面形式记录计算机应该如何解决你的问题。所以,编程语言的进化速度不像真正的技术(比如交通或通信技术)的进化速度。

    6. 我们基本上可以判定100年后的计算机的运行速度一定会快很多。

    日期:2019年7月13日

    书名:《黑客与画家》

    进度:72%

    读书笔记:

    今天继续看“一百年后的编程语言:一百年后,人类怎样编程?为什么不从现在开始就这样编程呢?”

    作者讲了自己观察到的一个有意思的趋势:随着技术的发展,每一代人都在做上一代人觉得浪费的事情。

    例如,30年前的人要是看到我们今天如此随意地使用长途电话,一定会感到震惊。100年前的人要是看到一个包裹竟然也能享受一天之内穿越几个城市的待遇,恐怕就要更震惊了。

    作者总结说,对速度的追求是人类内心深处根深蒂固的欲望。浪费可以分为好的浪费和坏的浪费,作者说自己感兴趣的是好的浪费,比如用更多的钱得到更好的设计。

    日期:2019年7月14日

    书名:《黑客与画家》

    进度:78%

    读书笔记:

    1. 大公司可以相互模仿,但是创业公司就不行。我觉得很多人没意识到这一点,尤其是一些创业者。

    2. 如果你掌管创业公司,把每件事做到平均水准,就能得到平均结果。创业公司的生存率远低于50%,所以,一直做到小公司的平均结果就意味着关门倒闭。如果掌管创业公司,最好做一些独特的事情,否则就会有麻烦。

    3. 如果你为创业公司工作,那么这里有一个评估竞争对手的妙招——关注他们的招聘职位。他们的网站上的其他内容无非是一些陈腐的照片和夸夸其谈的文字,但是招聘职位却不得不写得很明确,反映出他们到底想干什么,否则就会引来一大批不合适的求职者。

    相关文章

      网友评论

        本文标题:《黑客与画家》读书笔记

        本文链接:https://www.haomeiwen.com/subject/xjxbrctx.html