黑客与画家

##【书名】黑客与画家

##【内容】

保罗-格雷厄姆尝试解释计算机世界里发生了什么事,讲述创业viaweb的故事,计算机的发展轨迹,揭示黑客与画家的共通性。

  • 1-4章,解释了黑客如何成长及黑客看待世界的观点

  • 5-9章,解决黑客如何做出成果,及这些成果对世界的影响

  • 10-15章,解决黑客工具(编程)和工作方法,黑客文化的基础和核心

##【摘录】

  1. 正确理解黑客: 出于兴趣而解决某个难题,不管它有没有用; 三个特点:好玩、高智商、探索精神 “黑客伦理”.. 对于黑客来说,关着的门是一种挑衅,而锁着的门则是一种侮辱..
  2. 向着未来而生,“活在未来,然后造出现在还没有的部分”(Live in the future,then build what's missing
  3. 为什么书呆子不受欢迎,他们的心思在别的地方
  4. 任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入
  5. 我们认定无法解决的难题,事实上完全可以解决
  6. 创造优美的事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观念用比较新的方式组合起来【ajax如此,貌似angular的mvvm的编程方式也是如此】
  7. 如果你不爱做一件事,你不可能把它做得真正优秀,要是你很热爱编程,你就不可避免地会开发你自己的项目
  8. 每幅画所用的技巧,都是建立在上一幅作品学到的东西之上
  9. 一幅画是逐步完成的,通常一开始是一章草图,然后逐步填入细节。有时,原先的构想是错的,你就必须动手修改。
  10. 过早优化是一件很危险的事
  11. 换位思考。了解别人对于事情的看法,并不代表你为他的利益服务,比如打仗的时候,了解对手正是为了打击对手
  12. 软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册,源代码也应该可以自己解释自己。
  13. 程序是写出来看的,附带能在机器上运行
  14. 如果自己就是潮水的一部分,怎么能看见潮流的方向呢?你只能永远保持质疑,问自己,什么话是我不能说的?为什么?【怎么跳出潮流?
  15. 历史的常态似乎就是,任何一个年代的人们,都会对一些荒谬的东西深信不疑。他们的信念还很坚定,只要有人稍微表示一点怀疑,就会惹来大麻烦
  16. 坐下来写东西的时候,一半的构思是写作的时候产生的【写代码的时候?想好了全部细节构思再写?还是明确一个方向、功能构成,不断在编程中完善?】
  17. 在本质上,软件项目的人力与工期是无法交换的,当项目进度落后时,光增加人力到项目中,并不会加快进度,反而有可能使进度更加延后【《人月神话》(项目管理名著)中人月有详细介绍】
  18. 你必须时刻牢记的最基本的原则就是,创造人们需要的东西,就是创造财富
  19. 冗余的代码会导致更多冗余的代码,一件垃圾会产生更多的垃圾【怎么找出冗余代码,然后干掉?】
  20. 觉得任何一个领域的最佳作品都不可能由对用户的言听计从的人做出来
  21. 如果你负责某件事,那就是真是你负责。除了你以外,没有人能批准(他们甚至不知道)这部分代码的发布。如果你出错了,没有人能提醒你,唯一的代码保护机制就是你的羞耻心,你不想被同事当成傻瓜。【这个时代绝对没有版本管理和代码revi ew机制,但是不想被同事当成傻瓜还是必须滴】
  22. 逆向的《人月神话》,人数越来越少,软件的开发效率将呈指数式增长
  23. 什么是好设计?简单、永不过时、解决主要问题、通常有点趣味、艰苦的、看似容易的、对称的、模仿大自然的设计,是一种再设计
  24. 很少有人一次就能把事情做对。专家的做法是先完成一个早期原型,然后提出修改计划,最后把早期原型扔掉。【好游戏是不断修改出来的,好的系统也是不断修改出来的,例如不断修改中的OA】
  25. 当你对一件事产生热情的时候,就不会满足模仿了,你的品味开始进入第二阶段,开始自觉地进行原创。 研究必须是“新”的,而设计必须是“好”的。 别忘了你的对手与你一样,能用任何想用的语言编写互联网软件。

##【随记】

同样的文字,在不同的时间和环境阅读,往往会带来不同的启示和感悟。

甚至有时候觉得作者在那个时代就有这种思想,简直是预言几十年后计算机的发展,web取代PC软件。不,文章已经预言一百年后的编程语言了。

有些观念也许对,也许随着时代的发展已经不适用了。

编程首先是为了解决问题,其次是可以满足自己的好奇心,愉悦自己,有可能的话还可以利用此挣钱。

黑客与画家1 读书笔记12