《黑客与画家》读书笔记

来源:互联网 发布:在淘宝网怎么投诉卖家 编辑:程序博客网 时间:2024/06/05 04:49

最近得空,看了《黑客与画家》,本来只是当作消遣来看,后来却发现作者的很多观点还是令人印象深刻的,于是做了点读书笔记。

所谓“黑客”
- 在20世纪60年代hack这个词被发明时,“黑客”完全是正面意义上的称呼。hack作为名词有两个意思,既可以指很巧妙或很便捷的解决方法,也可以指比较笨拙、不那么优雅的解决方法。两者都能称为hack,不同的是,前者是漂亮的解决方法(cool hack或neat hack),后者是丑陋的解决方法(ugly hack或quick hack)。hack的字典解释是砍(木头),在这些学生看来,解决一个计算机难题就好像砍倒一棵大叔。那么相应地,完成这种hack的过程就被称为hacking,而从事hacking的人就是hacker,也就是黑客。
- 从这个意思出发,hack还有一个引申义,指对某个程序或设备进行修改,使其完成原来不可用的功能(或者禁止外部使用者接触到的功能)。在这种意义上,hacking可以与盗窃信息、信用卡欺诈或其他计算机犯罪联系在一起,这也是后来“黑客”被当作计算机入侵者的称呼的原因。
- from:译者序

换位思考
- 普通黑客与优秀黑客的所有区别之中,会不会“换位思考”可能是最重要的单个因素。有些黑客很聪明,但是完全以自我为中心,根本不可能设身处地为用户考虑。这样的人很难设计出优秀的软件,因为他们不从用户的角度看问题。
- 判断一个人是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。
- 软件的部分功能就是解释自身。为了写出优秀软件,你必须假定用户对你的软件基本上一无所知。
- from:Chapter-2 Page31

coffeecato:作为程序员,沟通能力确实是很重要的一项技能,项目开发中需求变动的传达依赖于程序员与需求制定者之间的良好沟通,高效的沟通能减少扯皮、推脱,减少开发工作的反复。

智力相同说
- 可能仅仅是因为科学家比其他领域的学者更聪明。如果有必要的话,大多数物理学家有能力拿到法国文学的博士学位,但是反过来就不行,很少存在法国文学的教授有能力拿到物理学的博士学位。
- 大学校园中有一条默认的公理————各种领域的科研所要求的智力水平都是相同的。毫无疑问,这条公理确实能够减少冲突,让一切平稳运作。但是如果这条公理为真,那将是多么巧合的事情啊,所有学科的难易程度居然一模一样!而且,承认这条公理比不承认它会使得一切都方便得多!
- from:Chapter-3 Page45

coffeecato:讲真!这个问题我在脑海中出现过无数次,不过自己总能招到一万种理由推翻自己的想法。没有想到作者有胆量将这种冒犯很多人的话成书并出版。不同行业的分工到了当代社会确实已经到精确细分的时代,不过不同的行业或是职业很难用同一套标准去评判。然后很多行业对于人的智力,天赋,情商等的要求确实是有着巨大的差异。

知而不言
- 自由思考比畅所欲言更重要。如果你感到一定要跟那些人辩个明白,绝咽不下这口气,一定要把话说清楚,结果很可能是从此你再也无法自由理性地思考了。我认为这样做不可取,更好的方法是在思想和言论之间划一条明确的界限。在心里无所不想,但是不一定要说出来。我就鼓励自己在心里默默思考那些最无法无天的想法。你的思想是一个地下组织,绝不要把那里发生的事情一股脑说给外人听。“搏击俱乐部”的第一条规则,就是不要提到搏击俱乐部。
- 每个时代都有自己的忌讳,如果你触犯它们,就算没有坐牢,至少也会为自己惹来麻烦,干扰了正常生活。
- from:Chapter-3 Page47

coffeecato:看到这段,我就想到两句话:永远不要试着去叫醒一个装睡的人;永远不要跟女朋友讲道理。

永远质疑
- 如果你的数学不好,那么你自己会知道,因为考试的时候你得不出正确的答案。但是,如果你的思想很保守,你自己不会知道,而且你很可能还会持有相反的看法。请记住,所谓“流行”(传统观念也是一种流行),本质上就是自己看不见自己的样子。否则就不会有流行了。对于那些被流行抓住的人,流行就是不再流行,而是应该要做的正确事情。只有保持一定的距离才能观察到人们观念的变化,发现流行(也就是人们自以为正确的事情)到底是什么。
- 时间就是一种产生距离的简单方法。实际上,新的流行让旧的流行更容易被观察到,因为对比之下,旧的流行会显得很荒唐。从钟摆波动的一端望去,上一个周期的端点就显得特别遥远。
- 不过,想要摆脱你自己时代的流行,需要一点自觉。没有了时间所产生的距离,你不得不自己创造距离。你不要让自己成为人群的一份子,而要尽可能地远离人群,观察正在发生的事情。
- from:Chapter-3 Page50

coffeecato:所谓旁观者清就是这个意思吧。刚入行时,每年都关注着什么语言最流行,查看每年推出的编程语言排行榜。现在淡定多了,其实去刷刷行业内各个公司的JD就很清楚所处行业的需求了,不要抱着一种语言不放手,也不必出了什么新鲜的技术都要去尝个鲜。

控制硬件
- 硬件需要考虑的地方,不仅仅在于怎么才能避免出问题,还在于怎样才能最大地发挥它们的作用。只要你控制了硬件,就能为用户提供更多的功能。如果你的产品是桌面软件,你就只能规定硬件的最低配置,无法为了某一个功能而要求用户增加硬件。但是,如果你控制了服务器,你就你能轻而易举地增加功能,使用户可以发出寻呼、发送传真、通过电话操作网站、使用信用卡付款等。你所需要做的只是安装相关的硬件。我们总是在寻找通过硬件增加新功能的方法,因为这样可以赢得用户,还可以让我们超越那些不直接控制硬件的竞争者。

coffeecato:这里说的公司怎么看怎么像是苹果呢?

软件的发布
- 互联网软件带来的最大变化之一,就是软件发布方式的改变。对于桌面软件来说,发布新版本是一个很痛苦的过程,整个公司不得不使尽全力,满头大汗地挤出一大块巨型代码。从过程和结果上看,无异于一次分娩。
- 互联网软件则不同,就像你写给自己用的程序一样,修改起来很方便。软件的发布过程可以分解为一系列的渐进式修改,而不是猛地退出一个大幅变动的版本。常见的桌面软件可能一年发布一到两个新版本,而我们在Viaweb经常是一个天发布三到五个版本。
- 一旦采用了这种新模式,你就会知道发布方式对软件开发的影响有多么重大。桌面软件开发之中的许多棘手问题,都是源自于它的那种灾难性的发布方式。
- 如果一年发布一个新版本,你很可能会以打包方式处理bug,把它们留着,然后一次性全部解决。在发布版本前,你可能会修改和更换一半的代码,从而又引入了无数新的bug。接着,质量监控人员(Quality Assurance)开始测试新代码,逐一列出新发现的bug,你再按照这张清单把它们一个个消除。通常没办法把清单全部做完,它随时都在增长,说实话,谁也不确定它到底会有多长。这就好像在足球场上捡小石头一样费劲,你永远不知道为什么软件内部会出这么多问题。最好的结果也不过是,你得到了一个统计学意义上“合格”的版本。
- from:Chapter-5 Page64

coffeecato:哈哈哈,我看到这里真的是笑出声了。每次发版本整个项目组如临大敌,所有人不许走,都盯着版本发布的步骤,一步一步的。颇有点临产的感觉,往事不堪回首啊…

盗版问题
- 没有盗版也是一种“优势”,但也是一个问题。一定数量的盗版对软件公司是有好处的。不管你的软件定价多少,有些用户永远都不会购买。如果这样的用户使用盗版,你并没有任何损失。事实上,你反而转到了,因为你的软件现在多了一个用户,市场影响力就更大了一些,而这个用户可能毕业以后就会出钱购买你的软件。
- 只要有可能,商业性公司就会采用一种叫做“价格歧视”(price discrimination)的定价方法,也就是针对不同的客户给出不同的价格,使得利润最大化。软件的定价特别适合采用价格歧视,因为软件的边际成本接近于零。盗版实质上也是一种价格歧视,只不过针对的是最底层的消费者。我觉得软件公司一定明白这个道理,所以故意对某些盗版行为睁一只眼闭一只眼。

coffeecato:这个角度我确实从未想到过。从另一个方面也反应出了获取更多的用户才是硬道理,即使是免费的用户。如今腾讯一家独大,也是建立在QQ天量免费用户的基础之上,后来者为了与先入者交互,也不得不使用该产品,是不是也逐步形成了一种变相的垄断呢?

购买行为
- 你可能认为,购买商品时,人们是先做出决定,然后再购买,好像这个行为分成两个独立的步骤。事实上,第二步对第一步有反作用,如果某样商品购买起来很困难,人们就会改变主意,放弃购买。反过来也成立,如果某样东西易于购买,你就会多买一点。

coffeecato:原来买买买就是因为马云爸爸把淘宝做的太方便了啊,就是要在人冲动的时候不给他理性思考的时间!
- from:Chapter-5 Page75

付出与回报
- 创业的付出与回报虽然总体上是成比例的,但是在个体上是不成比例的。对于个人来说,付出与回报之间存在一个很随机的放大因子。你努力30倍,最后得到的回报在现实中并不是30倍,而是0到1000倍之间的一个随机数。假定所有创业者都努力30倍,最后它们得到的总体平均回报是30倍,但中位数却是0。
- 由于存在个别极其成功的创业者,所以回报的平均值被拉到了30倍,但是大多数创业者其实都以失败告终,所以中位数是0。
- from:Chapter-6 Page105

coffeecato:游戏这个行业可能更为突出,1%的成功者拿走了90%以上的利润。这次跳槽之前,很多之前的同事都建议我不要去创业团队或者小公司,成功率真的太低了。凡事都要去试试,小马过河的故事还历历在目,毕竟现在没有家庭的压力,多做些尝试也未尝不可。

  • 上周回家呆了几天,闲暇时看了《花儿与少年》第三季,冲着陈柏霖去看的,没错,我是去看男人的。深深的觉得,长的帅也得会做饭,不要为了多写那一两百行代码,连做饭都懒得去尝试,毕竟能为家人和自己爱的人做一顿美味的饭菜魅也是“超酷的”!
原创粉丝点击