折腾不止
Logo
折腾不止

《黑客与画家》笔记

《黑客与画家》是一本介绍黑客的书,是硅谷创业之父 Paul Graham 的文集,译者阮一峰。全书收录了 Paul Graham 在 2004 年以前的博客文章。

跟所有博客文集一样,这本书的每章都是相互独立的,不必要按顺序阅读。但是,其结构也就不可避免的松散,比如:有一章讲防垃圾邮件的算法,与其它内容毫无联系。如果拥有一定的英文基础,不推荐买书,直接去看 Paul Graham 的博客,可能效果还要更好一些。

作为一名读者,谈到黑客,我很自然地想了解下面这些问题,于是,我尝试着根据自己的理解,来重构这本书的结构。

什么是黑客?

  • 译者序
  • 前言

在媒体和普通人的眼里,“黑客”(hacker)就是入侵计算机的人,就是“计算机犯罪”的同义词。但是,这并不是它的真正含义,黑客的真正含义是专家级程序员

关于黑客这个词的由来可以参考阮一峰的博客文章《黑客的含义》

黑客工作的本质

  • 第 2 章 黑客与画家
  • 第 9 章 设计者的品味
  • 第 15 章 设计与研究

黑客工作的本质是创作:

与作曲家、建筑师、作家一样,黑客和画家都是试图创作出优秀作品。他们本质上都不是在做研究,虽然在创作过程中,他们可能会发现一些新技术(那样当然更好)。

以设计出更好的作品为目的,黑客的工作不应该被归类到“计算机科学”,这是因为设计和研究存在根本性区别,研究必须是“新”的,而设计必须是“好”的。

对于什么样的设计才是好设计, Paul Graham 有详细的说明:

  • 好设计是简单的设计;
  • 好设计是永不过时的设计;
  • 好设计是解决主要问题的设计;
  • 好设计通常是有点趣味的设计;
  • 好设计是艰苦的设计;
  • 好设计是看似容易的设计;
  • 好设计是对称的设计;
  • 好设计是模仿大自然的设计;
  • 好设计是一种再设计;
  • 好设计是能够复制的设计;
  • 好设计常常是奇特的设计;
  • 好设计是成批出现的;
  • 好设计常常是大胆的设计。

但是,这些内容都停留在理论的层面,缺少必要的方法论。只读这些理论,可能还是很难做出好的设计。

黑客的工具

  • 第 10 章 编程语言解析
  • 第 11 章 一百年后的编程语言
  • 第 12 章 拒绝平庸
  • 第 14 章 梦寐以求的编程语言

黑客的工具是编程语言,Paul Graham 非常推崇 Lisp。对于一百年后的编程语言, Paul Graham 的看法是:

一百年后的程序员最需要的编程语言是可以让你毫不费力地写出程序第一版的编程语言,哪怕它的效率低得惊人。

也就是说,随着计算机速度的提高,编程语言应该越来越易用,即:可以浪费计算机的时间,但是必须要节省程序员的时间。

黑客的精神

  • 第 1 章 为什么书呆子不受欢迎
  • 第 3 章 不能说的话
  • 第 4 章 良好的坏习惯
  • 第 13 章 书呆子的复仇

黑客的特点之一便是高智商,在学校里一般表现为书呆子形象,不受欢迎,其主要原因是,他们专注于解决问题,并不想取悦别人。由于学校并不是真实的社会,它不需要真正解决问题的人,于是书呆子们完全没有用武之地。但是,一旦这些书呆子走入社会,社会需要能够真正解决问题的人,于是书呆子们的价值就体现出来了。

黑客的精神是信息自由,不服从管教,具有叛逆精神。 Paul Graham 认为这些都是良好的习惯,是创新的根源。

黑客的致富

  • 第 5 章 另一条路
  • 第 6 章 如何创造财富
  • 第 7 章 关注贫富分化

Paul Graham 讲述了自己在 Viaweb 的创业经历,通过另辟蹊径获得成功。他认为,致富的最好办法就是为社会创造财富,创造财富的最好办法就是创业。后来,他提出了一套完整的创业哲学,他的创业公式是:

  • 搭建原型
  • 上线运营
  • 收集反馈
  • 调整产品
  • 成长壮大

总体上,本书通俗易懂,作为外行,我读起来也没有障碍。但是,我也没有产生太多的感想和共鸣,这或许是因为对黑客确实了解得太少的缘故。无论如何,本书的确让我对黑客有了一些了解,从而也能够帮助我理解当今计算机时代所发生的事情,至少我再也不会认为黑客就是入侵计算机的人。

尽管很多内容都写于十几年前,而且技术更迭如此之快,但是本书读起来却丝毫不感觉过时。这或许是因为作者站在比较高的层面讨论问题,没有拘泥于技术本身,更多的聚焦在技术背后的原理、发展趋势,以及使用这些技术的人。