黑客与画家读书笔记

目前比较火的一本书。书中认为程序员同艺术家们一样同为创造者。因为比较认同这个观点,所以对这书还比较感兴趣。读过后,感觉这书虽然没有期 望的好,却还是有些有意思的观点。

计算机科学?

计算机科学是个奇怪的说法,所谓到计算机科学其实是各类学科的一个大杂烩。

  • 数学家 类似冯•诺依曼这样的计算机理论学家,确切的说 他们更关心的是数学。只是研究的数学恰好是为计算机所用而已。
  • 计算机博物学家 某些人只研究计算机中到某一个极小到领域,然后在这个领域内做到极致。如某些人只做网络算法。
  • 黑客 黑客真正感兴趣的在于他们能做出来的东西。对他们而言,计算机犹就如画家的画笔。计算机只是将自己想法实体化的一个工具。

你希望自己成为其中的那一类?

作为一个”黑客“你需要多少计算机知识?

一个”黑客“对计算机理论知识的需求量和画家对颜料化学成分的了解程度差不多。简单的说,你只需要很少的计算机理论知识就可以了。

书中就点说的非常的简单,按照我的理解,书中到意见应当是不应当过于注重计算机的理论知识。相比深陷在细节中不能自拔,作为一个创造者更应当清楚 的知道自己在做什么,需要哪些知识。

犹如画家作画,程序的编写过程更象是一个涂鸦。画家们总是先将一副画的整体勾勒出来,再去做细节的刻画。程序也应当如此。你需要有了总体概念后才 知道如何动手,即使方向不对也能即使的修正。

我的计算机到我的数据的转换

这本书成书于2004年,作为第一代互联网公司的创始人,这书的作者还是非常有远见的。

反人月神话

按照人月神话的观点,人越多效率越低。若团队的每个成员都具备极高的素质,则可依靠极少的人创造出惊人的价值。

viaweb直到被yahoo收购的时候也只有3个人在维护。他们有招人,却只是为了能让公司卖个好价钱而已。招来的这些人也只是分配一些”闲活 “,干放着。

反人月神话-程序员工作效率的差别

做个不恰当到比喻,即使堆砌再多平庸到画家也无法画出蒙拉丽莎。优秀程序员和平庸程序员到差别也是如此。优秀程序员可以高效的完成任务,平庸的程 序员不但不能迅速到完成任务,甚至可能因为引入bug而带来麻烦。优秀程序员和平庸程序员直接效率的差别可能会超过100倍。

反人月神话-互联网创业项目需要多少人?(我自己扩展的)

有种说法,互联网创业项目的初期团队人数最好控制在2~3人,最多不应当超过5人。团队中设计1人,程序1~2人。有人或许会感到诧异,如此少的 人怎么可能做出优秀的产品。

  • 首先,如果你在一开始就希望把项目做的非常复杂,这个想法本身就是有问题到。
  • 其次,如果成员足够优秀,他们创造出的东西远比一对平庸团队的要多。
  • 另外,即使优秀的人才窝在大公司中也很难做到高效。

LISP

文中大量谈及LISP,相信会有不少人因为这书去学习LISP。作者认为编程语言是存在优劣的,哪些不优秀的东西都已经灭亡或将要灭亡。 JAVA就属于要灭亡的编程语言之一。 优秀的编程语言应当是精巧可再设计的。语言本身的规则非常的少,但借助这些规则你可以很方便的定义出自己的规则。 按照我的理解,作者的想法是,一个理想的编程语言可以让用户很方便的设计出适合自己应用场景的编程语言。