《黑客与画家》

1 为什么书呆子不受欢迎

  • “书呆子”与“高智商”呈正相关关系,与“受欢迎”程度呈反相关关系。在学校,越喜欢读书,越不受欢迎。因为他们不想让自己受欢迎。
  • 任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心的投入。
  • 青少年每时每刻都想融入群体之中。(书呆子也希望,但不是排第一位。)
  • 书呆子不受欢迎的原因是他们的脑子里想着别的事情。
  • 一群孩子成群结伙地欺负你,并不是因为你做错了什么,而是因为他们需要找一件事情一起干,他们并不是恨你,而是需要一个共同的目标。
  • 聪明的小孩读中学时往往是不快乐的,他们有其它兴趣,没有多余的精力使自己更受欢迎。
  • 如果能回到过去,我会向13岁的我提供一些建议,昂起头看世界,不要在乎别人是怎么看自己的,多读书,寻找真正的答案。
  • 青少年的疯狂源自于他们被关到监狱里面忍受着无聊。
  • 校园生活的真正问题是空虚。但是没有多少成年人意识到这个问题。
  • 对于书呆子来说,意识到学校并非人生的全部,是非常重要的事情。(寻找更大的共同体。)
  • 以后要帮助孩子认识家庭,认识学校,认识这个世界。

2 黑客与画家

  • 黑客,只想写出有趣的软件,计算机只是一种表达的媒介。黑客的最高境界是创造规格,而不是实现规格。
  • 计算机科学将数学家,计算机博物学家,黑客三类人聚在了一起。
  • 创造优美的事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。
  • 黑客搞懂“计算理论”的必要性和画家搞懂颜料的化学成分差不多。
  • 黑客不需要“对数学的妒忌”,就像作家和画家。
  • 真正竞争软件的领域是新兴领域的市场。
  • 好玩的软件的需求量比不上解决客户麻烦问题的软件的需求量。
  • 有一份为了赚钱的工作,还有一份为了爱好的工作。
  • 现在真正会设计软件的黑客特别少,很多人只会实现产品经理的设想。
  • 黑客学习编程的方法应该是动手去编程。
  • 另一个学习的途径是学习范例。
  • 坚持一丝不苟,就能取得优秀的成果。
  • 时刻考虑到用户的人性需要,这样才能做出伟大的作品。
  • 程序写出来是给人看的,附带能在机器上运行。
  • 编程到底有多酷,取决于我们能够在这种新媒介上做出怎样的工作。

3 不能说的话

  • 找到“不能说的话”的第一种方法:判断言论的真伪。
  • 关注“异端邪说”是消除不能说的话第二种方法。
  • 代替通晓未来的第三种方法,“回顾过去”。
  • 第四种方法:寻找那些一本正经的卫道者,看看他们到底在捍卫着什么。
  • 第五种方法:观察禁忌是如何产生的,道德观念是什么出现的。
  • 道德禁忌的最大制造者是那些权利斗争中略占上风的一方,你会发现这一方有实力推行禁忌,同时又软弱到需要禁忌保护自己的利益。
  • 为什么这么做:处于纯粹的好奇心;因为不喜欢犯错;这是很好的脑力训练;
  • 科学家做事的方式就是寻找传统观念无法自圆其说的地方,拆开那里看看。
  • 你能看到别人看不到或者不敢看的地方,就有很大的优势。
  • 训练自己去想那些不能想的事,你获得的好处会超过所得到的想法本身。
  • 自由思考比畅所欲言更重要。
  • 能够一起讨论“异端邪说”并且不会因此气急败坏的人,就是你最该认识的朋友。
  • 如果你要清晰的思考,就要远离人群。
  • 问自己,什么话是自己不能说的,为什么?

第4章 良好的坏习惯

  • 不服从管教,其实是黑客之所以称为优秀程序员的原因之一。
  • 只有深入了解当前的技术,黑客才能构想下一代技术。
  • 一个人们拥有言论自由和行动自由的社会,往往最有可能采取最优方案,而不是采纳最有权势的人提出的方案。

第5章 另一条路

  • 你应该可以在任何电脑终端上获取你的数据。
  • 互联网软件发布规则:一旦它能运行了,你就可以立即发布。
  • 发现bug的任务应该交给用户去完成。
  • 随着参与人数的增加,人与人之间的沟通呈指数式的增长。
  • 不要在半夜里发布代码,然后回家睡觉。
  • 你的软件能用又不用安装,用户就会喜欢你。
  • 两件事阻止你创业:害怕行动,害怕竞争。
  • 管理企业很简单:第一,做出用户喜欢的产品。第二,保证开支小于收入。

第六章 如何创造财富

  • 创业公司其实就是解决了某个技术难题的小公司。
  • 如果你想赚100万美元,就不得不忍受相当于100万美元的痛苦。
  • 创造财富不等于赚取金钱。财富是大家需要的东西,金钱是可以购买某些需要的东西。可以说金钱是财富的子集。
  • 创造出来的财富不一定非要通过出售实现价值。
  • 公司存在的目的就是满足人们的某种需要。
  • 如果一家公司真正能够按照贡献付薪,它将取的巨大成功。
  • 要致富,你需要两样东西:可测量性与可放大性。
  • 小团体等于可测量性。高科技等于可放大性。
  • 大多数因为创造财富而发财的人都是通过开发新技术而实现的。因为新技术服务科更多的人。
  • 关键词:解决技术难题
  • 进入壁垒:别的公司复制你的模式需要面临多大的困难。
  • 最好的防御手段不是专利。而是一开始就选择较难的那个问题,以后各种决策都选择较难的那个选项。
  • 对于买家来说,最强地收购动力就是看到对手可能收购你。他们真正在意的只是你拥有的用户数量。
  • 只要懂得藏富于民,国家就会变得强大。允许那些努力创造财富的人保住自己的财富。

第七章 关注贫富分化

  • 富人与穷人之间的生活差异正在逐渐缩小,品牌正是这种差异的遗留物。
  • 压制收入差距的扩大,那就是社会作为一个整体变得更穷了。

第九章 设计者的品味

  • 优秀设计的原则:一,好设计是简单的设计。二,好设计是永不过时的设计。三,好设计是解决主要问题的设计。四,好设计是启发性的设计。五,好设计通常是有点趣味性的设计。六,好设计是需要艰苦付出的设计。七,好设计是模仿大自然的设计。八,好设计是通过不断修改产生的。九,好设计是能够复制的设计。十,好设计通常是大胆的设计。
  • 在软件中,能用递归解决的问题通常代表已经找到了最佳解法。
  • 推动人才成批涌现的最大因素是,让有天赋的人聚在一起,共同解决某个难题。

第十章 编程语言的解析

  • 操作命令的总和就是计算机的机器语言。
  • 面向对象编程:将不同的对象的处理方法放在不同的代码块中,处理这种对象的时候调用相应的代码块。

第十一章 一百年后的汇编

  • 编程语言的进化速度更像数学符号的进化速度。因为它们非常类似。
  • 随着技术的发展,每一代人都在做着上一代人觉得很浪费的事情。
  • 对于大多数程序来说,速度并不是最关键的因素。
  • 论文就是你写一篇文章,试图搞清楚某件事。
  • 效率低下的软件并不等于很烂的软件。
  • 面向对象编程使得你有办法对一团乱码似的代码进行可持续性开发。
  • 设计新语言的方法之一就是直接写下你想写的程序,不要管编译器是否存在,也不管有没有支持它的硬件。

第十二章 拒绝平庸

  • 使用抽象程度高的语言,就能比竞争对手更快地写出新功能。
  • 如果考虑其他因素,你不选择最强大的那种语言就是愚蠢。(你不选择最强大的工具就是愚蠢。)
  • 不要被某种语言同化和主宰,更好的语言一直在出现。
  • 无论如何,要多了解新出现的语言。它们不只是一种编程语言,更是一种思维方式。
  • 创业公司有一个评估竞争对手的妙招,关注他们的招聘职位。
  • 招聘perl或者Python程序员像是黑客控制的公司,招聘Lisp黑客的公司是最大的敌人。

第十三章 书呆子的复仇

  • Lisp九种思想:(一)条件结构。(二)函数也是一种数据类型。(三)递归。(四)变量的动态类型。(五)垃圾回收机制。(六)程序由表达式组成。(七)符号类型。(八)代码使用符号和常量组成的树型表达式。(九)无论什么时候,整个语言都是可用的。
  • 条件越苛刻的项目,强大的编程语言越能发挥作用。
  • 经理选择语言的时候要考虑是否能很简单的雇佣到程序员。
  • Lisp最大的不同之处是使用大量的宏。
  • 你设计程序的目标不是取悦投资方。而是让用户感到满意。所以用什么编程语言,使用什么样的方法都没问题。
  • 赚钱的诀窍:一,不同语言的编程能力不一样。二,大多数经理故意忽略第一点。
  • 一种编程语言的编程能力看它们完成一件功能时,使用语法元素的数量是不是更少。

第十四章 梦寐以求的编程语言

  • 一种编程语言必须是一个流行的计算机系统的编程语言,才会变得流行。
  • 一个好的编程语言需要满足的条件:(一)一种免费的实现。(二)一本相关的书籍。(三)依附一个流行的计算机系统。(四)简洁。(五)可编程性。(六)一次性程序。(七)函数库。(八)效率。(九)时间。(十)再设计。
  • 提高代码运行速度的关键是使用好性能分析器。因为需要知道瓶颈在哪。
  • 人们真正注意到你的时候,不是第一眼看到你站在那里,而是发现过了这么久你居然还在那里。
  • 乐观主义要和怀疑倾向同时存在。对问题能否解决要有信心,要同时怀疑现在用的不是最好的办法。

第十五章 设计与研究

  • 设计追求好,研究追求新。苹果是前者,大部分创业公司是后者。

你可能感兴趣的:(《黑客与画家》)