《黑客与画家》读书笔记

大家有看过《黑客与画家》这本书吗?目前,我已经认认真真从头至尾仔细的看了两遍,并且还会再看,计划每年都会温故一遍,为什么不呢。

 

这是一本难得的浅显易懂又极具启发性的技术书籍,作者Paul Graham是一位真正才华横溢的人,在IT领域早已声名鹊起,至少在硅谷几乎是无人不知,由于其经营的科技孵化公司Y Combinator扶持的创业公司成功率超过80%,因而被誉为“硅谷创业之父”。

 

顺便说一句,我看的版本的是“人民邮电出版社”出版的中译本,译者为阮一峰先生。阮先生是我非常欣赏的一位学者,知识渊博,为人谦逊,大家可以通过访问他的个人博客来间接地了解其为人与学问,博客地址为:http://www.ruanyifeng.com 。下面是从《黑客与画家》中做的一些摘抄:

 

  1. 我们的时代是计算机的时代。
  2. 编程语言就是程序员的思维方式。
  3. 为什么黑客那么在乎言论自由?我认为,部分原因在于,革新对于软件行业实在是太重要了,而革新和异端实际上是同一件事。
  4. 我真正想要的是,能够设计奇妙的火箭,写出漂亮文章,理解编程原理。一句话,我想要做伟大的事情。
  5. 在一个人产生良知之前,折磨就是一种娱乐。
  6. 你在其他地方有所得,就会在这个地方有所失。
  7. 它是现在这个样子,大部分是因为没人去改变它。
  8. 创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。
  9. 编程语言是用来帮助思考程序的,而不是用来表达已经想好的程序。
  10. 坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变得可见了。
  11. 看到代码前面的缩进乱七八糟,或者看到丑陋的变量名,都会把我逼疯。
  12. 在你厌倦的时候,再去做那些比较容易的工作,这是个不错的注意。
  13. 现在正是编程的黄金年代。
  14. 找出“不能说的话”的第一种方法:判断言论的真伪。
  15. 关注“异端邪说”,是找出“不能说的话”的第二种方法。
  16. 找出“不能说的话”的第三种方法:将当代观念与不同时期的古代观念diff一下。
  17. 第四种寻找“不能说的话”的方法:寻找那些一本正经的卫道者,看看他们到底在捍卫者什么。
  18. 第五种找出“不能说的话”的方法,那就是观察禁忌是如何产生的。
  19. 如果一个团体强大到无比自信,它根本不会在意别人的抨击。
  20. 优秀作品往往来自于其他人忽视的想法,而最被忽视的想法就是那些被禁止的思想观点。
  21. 训练自己去想那些不能想的事,你获得的好处会超过所得到的想法本身。
  22. 我还没想好。
  23. 如果你想清晰地思考,就必须远离人群。
  24. 如果互联网软件能够击败桌面软件,一定是赢在更方便这一优势上。
  25. 设计桌面软件就像设计一幢大楼,而设计互联网软件就像设计一座城市。
  26. 硬件需要考虑的地方,不仅仅在于怎么才能避免出问题,还在于怎样才能最大的发挥他们的作用。
  27. 桌面软件开发之中的许多棘手问题,都是源自于它的那种灾难性的发布方式。
  28. 只要想到好的构思,我们就立刻着手实现。
  29. 提高软件可靠性的关键在于开发时全神贯注,而不是减低开发速度。
  30. 你想知道应该优化什么地方,那就登录到服务器,看看什么程序最消耗CPU。
  31. 如果你放弃对服务器的直接控制,那就放弃了互联网软件的大部分优势。
  32. 如果不打算自己动手设计和开发,那就不要创业。
  33. 如果你想赚100万美元,就不得不忍受相当于100万美元的痛苦。
  34. 目前还存在的最大的手工艺人群体就是程序员。
  35. 我们这个世界,你向下沉沦或者向上奋进都取决于你自己,不能把原因推给外界。
  36. 真正重要的是做出人们需要的东西,而不是加入每个公司。
  37. 如果你想通过创造财富使得自己致富,那么你必须知道人们需要什么。
  38. 每个人的技能不同,导致收入不同,这才是贫富分化的主要原因。
  39. 把品味说成个人偏好可以有效的杜绝争论,防止人们争执哪一种品味更好。但是问题是,这种说法是不正确的。只要你自己开始动手设计东西,就能明白这一点。
  40. 当你被迫把东西做的很简单时,你就被迫直接面对真正的问题。当你不能用表面的装饰交差时,你就不得不做好真正的本质部分。
  41. 幽默感是强壮的一种表现,始终拥有幽默感就代表你对厄运一笑了之,而丧失幽默感则表示你被厄运深深伤到。
  42. 人们常常觉得野生动物非常优美,原因就是它们的生活非常艰苦,在外形上不可能有多余的部分。
  43. 好设计是什么?好设计是简单的设计;好设计是永不过时的设计;好设计是解决主要问题的设计;好设计是启发性设计;好设计通常是有点趣味性的设计;好设计是艰苦的设计;好设计是看似容易的设计;好设计是对称的设计;好设计是模仿大自然的设计;好设计是一种再设计;好设计是能够复制的设计;好设计常常是奇特的设计;好设计是成批出现的;好设计常常是大胆的设计。
  44. 如果你非常关注运行速度,那么最好使用接近机器的语言。
  45. 一种语言的内核设计的越小,越干净,它的生命力就越强。
  46. 对速度的追求是人类内心深处根深蒂固的欲望。
  47. 浪费程序员的时间而不是浪费机器的时间才是真正的无效率。
  48. 无论怎么想,并行计算似乎都是未来生活的一部分。
  49. 选择使用哪一种技术的时候,你不能考虑别人的想法,只能考虑什么样的技术能最好的完成工作。
  50. 如果开发只在自己服务器上运行的软件,这意味着你想用什么语言就能用什么语言。如果开发桌面软件,就完全不一样了,大多数情况下,你只能使用操作系统所用的开发语言。
  51. 让用户感到满意才是你的设计方向。只要赢得用户,其他事情就会接踵而来。如果没有用户,谁会关心你选择的“正统”技术是多么令人放心。
  52. 虽然语言的核心功能就像大海的深处,很少有变化,但是函数库和开发环境之类的东西就像大海的表面,一直在汹涌澎湃。
  53. 简洁性最重要的方面就是要使得语言更抽象。
  54. 黑客改造语言的乐趣就好比外科医生摆弄病人内脏的乐趣,或者成年人喜欢用手挤破青春痘的那种感觉。
  55. 人们真正注意到你的时候,不是第一眼看到你站着那里,而是发现过了这么久那居然还在那里。
  56. 设计与研究的区别看来就在于,前者追求“好”,后者追求“新”。
  57. 画作永远没有完工的一天,你只是不再画下去而已。

你可能感兴趣的:(编程语言,互联网,计算机,软件,黑客与画家)