封面

版权信息

O’Reilly Media, Inc.介绍

献词

赞誉

推荐序 “黑客精神”过时了吗?答案是永远不会

NOTE

“创新”和“创造者思维”

2022-06-09 22:35:12

NOTE

第一是“黑客精神”和“创造者思维”;第二是“财富创造”;第三是“开拓未来”

2022-06-09 22:35:49

NOTE

黑客精神的真谛是动手去创造性地解决问题。“解决问题”必须跟人的需求有关,需要持久地满足越来越多人的需求。“动手”需要有勇气,很务实,以行动为导向,除此以外,黑客还必须是一个积极向上的人。“创造性”则意味着不受束缚、敢于探索。此外,黑客精神还意味着独立思考,坚持说真话。“动手去创造性地解决问题”代表了创造者一系列的核心行为和思想状态。这句话虽然听上去很简单,但它具有深刻含义,且完全反映了创造者的核心要素。

2022-06-09 22:36:25

保罗·格雷厄姆其人其事

NOTE

运营创业公司,每天都像在战斗;而为大公司工作,就像在窒息中挣扎。

2022-06-14 04:49:00

精装版译者序 向着未来而生

平装版译者序

致读者

前言

第一部分 黑客如何成长及看待世界

1 为什么书呆子不受欢迎

NOTE

只有在典型的美国中学,做一个聪明的学生才是一件麻烦事,你的日子会很不好过。这究竟是为什么?

2022-06-09 22:38:50

NOTE

答案就是他们真的不想让自己受欢迎。

2022-06-09 22:39:34

NOTE

我更想追求的是另一点——聪明。这不仅仅意味着在学校取得好成绩(虽然某种程度上这也挺重要)。我真正想要的是,能够设计奇妙的火箭、写出漂亮的文章、理解编程原理。一句话,我想要做伟大的事情。

2022-06-09 22:40:04

NOTE

我在这里真正想要表达的是,青少年每时每刻都想融入群体之中。

2022-06-09 22:41:33

NOTE

书呆子不受欢迎的真正原因,是他们脑子里想着别的事情。他们的注意力都放在读书或者观察世界上面,而不是放在穿衣打扮、开晚会上面。

2022-06-14 04:50:44

NOTE

孩子们欺负书呆子的另一个原因是想让自己感到好受一些。当你踩水的时候,你把水踩下去,你的身体就会被托起来。同样,在任何社会等级制度中,那些对自己没自信的人会通过虐待他们眼中的下等人来突显自己的身份。

2022-10-29 16:58:02

NOTE

他们与别人不一样,不把所有时间用来玩一种耗尽全力但又毫无意义的游戏

2022-06-14 05:15:29

NOTE

他们的疯狂源于到处充斥着可怕的无聊气息

2022-06-14 05:16:23

NOTE

目的就是出题,而不是讲清楚问题

2022-06-14 05:16:54

NOTE

对于书呆子来说,意识到学校并非全部的人生,也是很重要的事情。学校是一个很奇怪的、人为设计出来的体系,一半像是无菌室,一半像是野蛮洪荒之地。它就像人生一样,里面无所不包,但又不是事物的真实样子。它只是一个暂时的过程,只要你向前看,你就能超越它,哪怕现在你还是身处其中。

2022-06-14 05:31:38

NOTE

他们把你扔在学校里,一关就是好几年,你根本没有真正的事情可做。任何这种类型的组织都是可怕的生存环境。你根本不需要寻找其他的原因,就能解释为什么青少年是不快乐的

2022-06-14 05:34:23

2 黑客与画家

NOTE

画画是某种原始欲望热烈狂放的表达方式

2022-06-11 07:11:41

NOTE

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

2022-06-11 07:12:13

NOTE

,计算机只是一种表达的媒介

2022-06-11 07:13:32

NOTE

在“计算机科学”的名下,数学家、物理学家和建筑师都不得不待在同一个系里

2022-06-11 07:13:15

NOTE

建筑学和工程学之间的界限并不是很分明,但就是存在区别。这表现在“做什么”和“怎么做”:建筑师决定做什么,工程师想出怎么做。

2022-06-11 20:33:06

NOTE

如果你决定做一件事,却不知道怎么做,你就是在自找麻烦。

2022-06-12 12:39:02

NOTE

塞缪尔·约翰逊2说过,人们对一个作家的评价,需要100年才能达成一致3。你必须先等他的那些有影响力的朋友都死了,然后再等他的追随者都死了,才能对他有一个公正的评价。

2022-06-14 05:38:32

NOTE

如果大学和实验室不允许黑客做他们想做的事情,那么适合黑客的地方可能就是企业。不幸的是,大多数企业也不允许黑客做他们想做的事情。大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师。

2022-06-14 16:24:30

NOTE

等我来到雅虎以后,发现在他们看来,“黑客”的工作就是用软件实现某个功能,而不是设计软件。在那里,程序员被当作技工,职责就是将产品经理的“构想”(如果这个词是这么用的话)翻译成代码。

2022-06-14 16:28:26

NOTE

找一份养家糊口的“白天工作”(day job)。这个词是从音乐家身上来的,他们晚上表演音乐,所以白天可以找一份其他工作。更一般地说,“白天工作”的意思是,你有一份为了赚钱的工作,还有一份为了爱好的工作。

2022-06-14 16:29:30

NOTE

坚持一丝不苟,就能取得优秀的成果,因为那些看不见的细节累加起来,就变得可见了。

2022-06-14 16:31:15

NOTE

黑客就像画家,工作起来是有心理周期的。有时候,你有了一个令人兴奋的新项目,你会愿意为它一天工作16个小时。等过了这一阵,你又会觉得百无聊赖,对所有事情都提不起兴趣。

2022-06-14 16:32:15

NOTE

我认为,这也是多人共同开发一个软件的正确模式。需要合作,但是不要“合”得过头。如果一个代码块由三四个人共同开发,就没有人真正“拥有”这块代码。最终,它就会变得像一个公用杂物间,没人管理,又脏又乱,到处堆满了冗余代码。正确的合作方法是将项目分割成严格定义的模块,每一个模块由一个人明确负责。模块与模块之间的接口经过精心设计,如果可能的话,最好把文档说明写得像编程语言规范那样清晰。

2022-06-14 16:32:51

NOTE

判断一个人是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。

2022-06-14 16:33:07

NOTE

编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作

2022-06-14 16:33:30

3 不能说的话

NOTE

所谓“时尚”,本质上就是自己看不见自己的样子。好比我们在地球上,却感觉不到地球在动

2022-06-14 16:33:58

NOTE

但真正令人惊恐的是,流行一时的不仅有衣服,还有道德观念。明明是专横武断、毫无依据的错误观点,大多数人却深信不疑,受到影响而不自知。这是非常危险的。流行的衣服,其实是很难看的衣服;流行的道德观念,其实不是善而是恶。但是,如果别人都穿流行的衣服,而你不穿,你就会遭到嘲讽;如果别人都遵守流行的道德观念,而你不遵守,结果则要严重得多,你会被解雇、流放、监禁,甚至被杀。

2022-06-14 16:37:00

NOTE

历史的常态似乎就是,任何一个年代的人们,都会对一些荒谬的东西深信不疑。他们的信念还很坚定,只要有人稍微表示一点怀疑,就会惹来大麻烦

2022-06-14 16:45:27

NOTE

即使有那么一丝微小的可能,有史以来第一次,我们这个时代的所有信念都是正确的,那也是出于惊人的巧合,而不是因为我们真找到了正确的方向

2022-06-14 16:45:54

你是一个随大流的人吗

NOTE

你的观点就是从别人那里听来的,别人告诉你什么,你就相信了什么,你把别人灌输的观点当作了自己的观点

2022-06-14 16:46:33

NOTE

为了防止他人复制,古代制作地图的工匠会故意在地图上画错一个小地方。如果你的地图与他的地图一样,就说明不太可能是你自己独立制作的

2022-06-14 16:46:49

NOTE

有时候,别人会对你说:“要根据社会需要,改造自己的思想。”这种说法隐含的意思似乎是,如果你不认同社会,那么肯定是你自己的问题。你同意这种说法吗?事实上,它不仅不对,而且会让历史倒退。如果你真的相信了它,凡是不认同社会之处,你连想都不敢想,马上就放弃自己的观点,那才会真正出问题。

2022-06-14 16:47:47

真话

NOTE

为了找出那些“不能说的话”,让我们问自己,它们会不会是真的?OK,当你发现某些言论很可疑时,你可以这样想,那些话听上去真是大逆不道(或者其他类似的形容词),但是有没有可能是真的?这就是找出“不能说的话”的第一种方法:判断言论的真伪。

2022-06-14 16:48:48

异端邪说

NOTE

好在不管是哪个年代,分辨这样的标签都应该是比较容易的。你只要看看人们怎么称呼那些自己不赞成但是又不算错的观点就行了。当一个政治家说自己的对手是错的,这是直截了当的批评。但是,如果他不谈论对错,却使用“对种族问题不敏感”这样的标签攻击对手,那么我们就应该多加注意了。

2022-06-14 16:49:13

NOTE

这样的自问自答是不是太主观了?表面上确实很主观,但是实际上不是,因为最先从你头脑中跳出来的想法,往往就是最困挠你、很可能为真的想法。你已经注意到它们,但还没有认真思考过。

2022-06-14 16:50:34

NOTE

这种深层的反应没有上升为自觉的意识。我认为,类似的思维机制存在于每个人的头脑中,很多看似叛逆的“异端邪说”,早就“潜伏”在我们的思维深处。如果我们暂时关闭自我审查意识,它们就会第一个浮现出来

2022-06-14 16:51:05

时空差异

NOTE

我认为,只有这些才是真正错误的行为或观点。如果某个观点在大部分时空是不受禁止的,只有我们这个社会才把它当作禁忌,那么很可能是我们出错了。

2022-06-14 17:26:35

道貌岸然

NOTE

孩子眼里的世界是不真实的,是一个被灌输进他们头脑的假想世界。将来当孩子长大以后接触社会,就会发现小时候以为真实的事情,在现实世界中是荒唐可笑的

2022-06-14 17:27:00

机制

NOTE

道德禁忌的最主要制造者是那些在权力斗争中略占上风的一方。你会发现,这一方有实力推行禁忌,同时又软弱到需要禁忌来保护自己的利益。

2022-06-14 17:27:29

为什么这样做

NOTE

训练自己去想那些不能想的事情,你获得的好处会超过所得到的想法本身。

2022-06-14 17:28:03

守口如瓶

NOTE

我认为这样做不可取,更好的方法是在思想和言论之间划一条明确的界线。在心里无所不想,但是不一定要说出来。我就鼓励自己在心里默默思考那些最无法无天的想法。你的思想是一个“地下组织”,绝不要把那里发生的事情一股脑说给外人听。

2022-06-14 17:35:41

NOTE

“不能说的话”太多了,如果口无遮拦,你就没时间做正事了。为了与他人论战,你不得不变成一个语言学家,比如诺姆·乔姆斯基(Noam Chomsky)

2022-06-14 17:36:08

笑脸相迎?

永远质疑

第二部分 黑客如何工作及影响世界

4 良好的坏习惯

NOTE

如果硬要他们服从管教,他们也就无法成为优秀程序员了

2022-06-14 16:54:09

NOTE

Slashdot

2022-06-14 16:54:40

NOTE

黑客是不服从管教的,这就是他们的本性,也是美国人的本性。硅谷出现在美国,而不是出现在法国、德国、英国或日本,这绝非偶然,因为后面那些国家的人总是按部就班地行事。

2022-06-14 17:19:32

NOTE

在我看来,一个人们拥有言论自由和行动自由的社会,往往最有可能采纳最优方案,而不是采纳最有权势的人提出的方案。专制国家会变成腐败国家,腐败国家会变成贫穷国家,贫穷国家会变成弱小国家。经济学里有一条拉弗曲线,认为随着税率的上升,税收收入会先增加后减少。我认为政府的力量也是如此,随着对公民自由的限制不断加强,政府的力量会先增大后减小。

2022-06-14 17:37:12

5 另一条路

下一个潮流?

用户的胜利

NOTE

“你的计算机”这个概念正慢慢成为过去时,取而代之的是“你的数据”。你应该可以从任何计算机上获取你的数据,或者更准确地说,在任何终端设备上获取你的数据,终端设备不一定是计算机。

2022-06-14 17:38:21

代码之城

软件的发布

NOTE

互联网软件带来的最大变化之一,就是软件发布方式的改变。对于桌面软件来说,发布新版本是一个很痛苦的过程,整个公司不得不使尽全力,满头大汗地挤出一大块巨型代码。从过程和结果上来看,这无异于一次分娩。互联网软件则完全不同,就像你写给自己用的程序一样,修改起来很方便。软件的发布过程可以分解为一系列的渐进式修改,而不是猛地推出一个大幅变动的版本。常见的桌面软件可能一年发布一到两个新版本,而我们在Viaweb经常是一天发布三到五个版本。

2022-06-14 17:39:59

软件bug

客户支持

全身心投入

NOTE

在坐下来写东西的时候,一半的构思是写作时产生的

2022-06-14 17:41:15

NOTE

将一个构思束之高阁,不仅意味着延迟它的实现,还意味着延迟所有在实现过程中激发的构思。事实上,将一个构思束之高阁,甚至会限制新构思的产生

2022-06-14 17:41:23

逆向的《人月神话》

NOTE

买家不愿花大价钱买下一个只有3个程序员的公司。(解决方法:雇更多的人,在公司内创设其他项目,让他们去做。)

2022-06-14 17:42:26

NOTE

不要在半夜发布代码,然后回家睡觉

2022-06-14 17:44:00

关注用户

金钱问题

NOTE

一定数量的盗版对软件公司是有好处的。不管你的软件定价多少,有些用户永远都不会购买。如果这样的用户使用盗版,你并没有任何损失。事实上,你反而赚到了,因为你的软件现在多了一个用户,市场影响力就更大了一些,而这个用户可能毕业以后就会出钱购买你的软件。

2022-06-14 17:59:08

NOTE

如果某样商品购买起来很困难,人们就会改变主意,放弃购买。反过来也成立,如果某样东西易于购买,你就会多买一点。自从有了亚马逊网上书店,我买的新书比什么时候都多。

2022-06-14 17:59:23

目标客户

桌面电脑

微软公司

创业公司

勉强够用的网页

为什么不尝试一下

6 如何创造财富

一个命题

运气的成分

金钱不等于财富

大饼谬论

手工艺人

工作是什么

更努力地工作

可测量性和可放大性

NOTE

从图灵等价(Turing-equivalent)的角度来看,所有语言都是一样强大的,但是这对程序员没有意义。(没人想为图灵机编程。)

2022-06-14 18:15:15

NOTE

帕金森讽刺了英国的官僚主义,总结了许多常见的官僚主义的表现形式。“帕金森定律”后来成为这些表现形式的代名词,它包括很多内容,其中有一条就是“因为你必须做到,所以你能够做到”。因此,本文作者称“因为你能够做到,所以你必须做到”是逆向的帕金森定律

2022-06-14 18:01:13

NOTE

,保护“知识产权”的力度不断增大,已经威胁到了他们完成工作所必需的“思想自由”3。在这一点上,他们的看法是正确的。3 思想自由,指的是自由思考以及表达这种思考的权利。它是《世界人权宣言》(Universal Declaration of Human Rights)第19条规定的一种人权。——译者注

2022-06-14 17:18:34

NOTE

每个人心中都存在着黑暗的力量

2022-06-14 04:51:28

小团队=可测量性

高科技=可放大性

潜规则

NOTE

你的竞争对手决定了你到底要有多辛苦,而他们做出的决定都是一样的:你能吃多少苦,我们就能吃多少苦

2022-06-14 18:02:14

NOTE

你努力30倍,最后得到的回报在现实中并不是30倍,而是0到1 000倍之间的一个随机数

2022-06-14 18:02:40

用户数量

财富和权力

7 关注贫富分化

财富的老爹模式

偷窃

技术的杠杆效应

NOTE

技术的进步使得我在1985年终于拥有了一台自己的计算机。只过了几个月,我就开始接一些编程的零活赚钱了

2022-06-14 18:04:39

NOTE

技术变得更便宜的唯一东西,就是品牌。这正是为什么我们现在越来越多地听到品牌这个词。富人与穷人之间生活的鸿沟正在缩小,品牌是这种差距的遗留物。

2022-06-14 18:05:59

NOTE

无所事事使人感到孤独和消沉

2022-06-14 18:07:25

NOTE

社会身份(social distinction)

2022-06-14 18:07:33

NOTE

为了承担家庭生活的责任,女主人可能必须放弃一些她早年认识的朋友。”一个女人嫁给了有钱人,就被认为应该放弃那些没钱的朋友

2022-06-14 18:09:13

NOTE

今天的人们多多少少还是有一些互相隔离的趋势,但主要是因为教育层次的差别,而不是财富的差别。

2022-06-14 18:09:21

公理的不同意见

NOTE

在一个剥夺个人财产的社会,财富创造活动中所有那些没有乐趣的事情都会急剧地放慢,乃至停顿

2022-06-14 18:11:21

NOTE

如果没有其他信息,看上去噪声就是由电扇发出的

2022-06-14 18:11:35

8 防止垃圾邮件的一种方法

NOTE

Spam

2022-06-14 18:22:18

9 设计者的品味

第三部分 黑客的工具和工作方法

10 编程语言解析

机器语言

高级语言

开放源码

语言的战争

抽象性

安全带还是手铐

面向对象编程

文艺复兴

11 一百年后的编程语言

NOTE

SETI@home

2022-06-14 18:22:51

12 拒绝平庸

秘密武器

Blub困境

NOTE

它没有得到广泛使用就是因为编程语言不仅仅是技术,也是一种习惯性思维,非常难于改变

2022-06-14 18:14:29

创业公司的合气道

13 书呆子的复仇

朝着数学的方法发展

为什么Lisp语言很特别

语言优势真正体现的地方

向心力

随大流的代价

一个诀窍

附录:编程能力

14 梦寐以求的编程语言

流行的秘诀

外部因素

简洁

可编程性

一次性程序

函数库

效率

时间

再设计

梦寐以求的编程语言

15 设计与研究

致谢

术语表

NOTE

Alphanumeric

2022-06-14 18:17:06

NOTE

Click Trail

2022-06-14 18:17:47

NOTE

Code Bloat

2022-06-14 18:17:56

NOTE

Debugging

2022-06-14 18:18:24

NOTE

Glue Program

2022-06-14 18:19:00

NOTE

Heuristic

2022-06-14 18:19:20

NOTE

Instrument

2022-06-14 18:19:33

NOTE

Kludg

2022-06-14 18:19:47

NOTE

Larval Startup

2022-06-14 18:20:02

NOTE

Legacy Software

2022-06-14 18:19:54

NOTE

Math Envy

2022-06-14 18:20:51

NOTE

Number Crunching

2022-06-14 18:20:40

NOTE

Occam’s Razor

2022-06-14 18:20:45

NOTE

Orthogonal

2022-06-14 18:21:05

NOTE

Parkinson’s Law

2022-06-14 18:21:14

NOTE

Pointy-Haired Boss

2022-06-14 18:22:02

NOTE

Portal

2022-06-14 18:21:51

NOTE

Premature Design

2022-06-14 18:21:48

NOTE

QA/Quality Assurance

2022-06-14 18:21:33

NOTE

RAID/Redundant Array of Independent Disks

2022-06-14 18:21:37

NOTE

Smalltalk:

2022-06-14 18:22:54

NOTE

Spaghetti Code

2022-06-14 18:22:28

NOTE

Spec

2022-06-14 18:23:31

NOTE

SSH/Secure Shell

2022-06-14 18:23:41

NOTE

SSL/Secure Sockets Laye

2022-06-14 18:23:48

NOTE

Subroutine

2022-06-14 18:23:56

NOTE

Suits

2022-06-14 18:23:26

NOTE

Turing-Complete

2022-06-14 18:24:22

NOTE

Vaporware

2022-06-14 18:24:09

NOTE

VC/Venture Capitalist

2022-06-14 18:24:32

NOTE

Wedged 楔住

2022-06-14 18:24:40

NOTE

Wysiwyg

2022-06-14 18:24:47

图片授权说明

贝叶斯推断与过滤垃圾邮件

看完了