无风不起浪

《黑客与画家》文摘-第二章 黑客与画家

  1. 黑客与画家的共同之处,在于他们都是创作者。与作曲家、建筑师、作家一样,黑客和画家都是试图创作出优秀的作品。
  2. 创建优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。
  3. 我现在认为,大学里教给我们的编程方法都是错的。你把整个程序想清楚的时间点,应该是在编写代码的同时,而不是在编写代码之前,这与作家、画家和建筑师的做法完全一样。
  4. 在那里,程序员被当作技工,职责就是将产品经理的"构想"(如果这个词是这么用的话)翻译成代码。
  5. 这似乎是大公司的普遍情况。大公司这样安排的原因是为了减小结果的标准差。
  6. 大公司为了避免设计上的灾难,选择了减少设计结果的标准差。但是当你排斥差异的时候,你不仅将失败的可能性排除在外,也将获得高利润的可能性排除在外。
  7. 这对大公司来说不是问题,因为生产特别优秀的产品不是他们的获胜手段。大公司只要做到不太烂,就能赢。
  8. 如果莫一天你想要去赚大钱,那么记住上面这一点,因为这是创业公司能够成功的原因之一。你的竞争优势在软件设计方面,并且你的对手是一家大公司,它大到由一群产品经理来设计软件,那么你的对手永远无法赶上你。
  9. 不过这样的机会不容易找到。你很难单单依靠软件设计就与大公司展开竞争。真正的竞争软件设计的战场是新兴领域的市场,这里还没有人建立过防御工事。
  10. 开发优秀软件的方法之一就是自己创业。创业的另一个问题是赚钱的软件往往不是好玩的软件。
  11. 画家学习绘画的方法主要是动手去画,黑客学习编程的方法也理应如此。大多数黑客不是通过大学课程学会编程的,他们从实践中学习。
  12. 通过优秀的程序员学会编程,不是看他们的执行结果,而是看他们的源代码。
  13. 软件的部分功能就是解释自身。为了写出优秀的软件,你必须假定用户对你的软件基本上一无所知 //这点在现在的应用中越来越重要了。
  14. 源代码也应该可以自己解释自己。一句编程名言:"程序写出来是给人看的,附带能在机器上运行。"
  15. 在某些地方,自行其道、完全不提读者着想,被看成高水平、高智商的表现,甚至都发展成了一种风尚。

posted on 2012-12-10 10:12  无风不起浪  阅读(340)  评论(0)    收藏  举报

导航