Summa about <Hackers and Painters >
<Hackers and Painters > Big ideas from the computer age
By Paul Graham
<译者序> 我们现在的时代是程序员主导的时代,而伟大的程序员就是黑客。
“出于兴趣而解决某个问题,不管它有没有用,这就是黑客。”
Hacker Ethic
1.Access to computer----and anything that might teach you something about the way the world works----should be unlimited and total.Always yield to the Hands-On Imperative!
2.All information should be free.
3.Mistrust Authority---Promote Decetralization.
4.Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.
5.You can create art and beauty on a computer.
6.Computers can change your life for the better.
<一.为什么书呆子不受欢迎>
1.为什么聪明的小孩一直不受欢迎,答案是,他们真的不想让自己受欢迎。
2.书呆子不受欢迎的真正原因,是因为他们脑子里想着别的事情,他们的注意力放在读书或者自己想做的事情,而非一般人所关注的穿衣打扮人际交往。
3.要是不受欢迎仅仅意味着不受到关注,书呆子们可能觉得还能忍受。不幸的是,在学校里不受欢迎等同于被歧视和被欺负。其他人通过树立一个共同的“敌人”来加强彼此之间的亲密关系,不合群的书呆子便成为了他们的目标。
4.当今的青少年在生产活动中,根本就是毫无用处的,人们把孩子送到学校——包括学生和老师——都只是做做样子,走过场而已。
5.校园生活的最大问题是空虚。
<二.黑客与画家>
1.黑客们很像建筑师而不是工程师:建筑师决定做什么,工程师想出怎么做。黑客的最高境界是创造规格。
2.那么大学和实验室为什么把论文数量作为考核黑客工作的指标呢?因为这种工作容易实施,而容易实施的考核往往是优先被采用的。
3.开发优先软件的方法之一是自己创业。“黑客”的工作就是用软件实现某个功能设想,而不是设计软件。因为实际上只有很少一部分黑客懂得如何正确设计软件,公司的管理层很难正确识别到底应该把设计软件的任务交给谁,所以采取团体责任制来减少结果的标准差。而当你排除差异时,也将获得高利润的可能性排除在外。
4.黑客可以通过“白天工作”谋生,腾出时间来做自己想做的事。
5.普通黑客与优秀黑客的一个重要区别是会不会“换位思考”。
6.软件的部分功能就是解释自身,为了写出优秀的软件,你必须假定用户对你的软件基本一无所知。
<三.不能说的话>
1.历史的常态似乎就是,任何一个年代的人们,都会对一些荒谬的东西深信不疑。只要有人表示一点怀疑,就会惹来大麻烦。
2.智力越高的人,越愿意去思考那些惊世骇俗的思想观点;这不仅仅是因为聪明人本身很积极的寻找传统观念的漏洞,还因为传统观念对他们的束缚力很小。
3.学会守口如瓶。与笨蛋辩论,你也会变成笨蛋。你要明白,自由思考比畅所欲言更重要。
<六.如何创作财富>
1、创造财富的最好方法就是自己创业,或加入创业公司。你可以把创业当做就压缩过程,你把低强度工作的四十年换成以极限强度工作的四年。在高技术领域,这种压缩的回报尤其丰富,工作效率越高,额外报酬也就越多。
2、创业公司不是变魔术,他们无法改变创作财富的法则。想要赚100万,就不得不忍受相当于100万美元的痛苦。要知道,如果创业那么轻松,人人都去创业了。
3、财富是最基本的东西。财富不等同与金钱,我们需要的东西就是财富。因此,财富才是你的目标,金钱不是。人们之所以那么渴望金钱,部分原因是金钱是财富的一种简便的表达方式。
4、财富谬论。很多人认为这世上的财富是固定不变的,你分的越多,别人分的越少。这里令人混淆的地方就是金钱有其抽象意义的一面,金钱不是财富,而只是我们用来转移财富所有权的东西。
5、大公司会使每个员工的贡献平均化,这是一个问题。公司最大的困扰就是无法准确的测量每个员工的贡献。但是,现实中你在工作上投入的精力越多,就越能产生规模效应。你想更努力的工作,但是你的工作与其他人的许多工作混杂在一起,这样就产生了问题。在大公司中,个人的表现无法单独测量,公司的其他人会拖累你。
6、要想致富,你需要可测量性和可放大性两样东西。首先你的职位产生的业绩应该是可测量的。但工厂的工人报酬亦是根据业绩测量得到的,所以你还要可放大性。你的表示可以测量,但如果你没有决策权,你能做的就很少。CEO是一种同时具有可测量性和可放大性的职业。不仅业绩可以测量,并且自己的决策还可以进一步放大影响自己的业绩,产生更大的贡献。
7、小团队往往是可测量的,故成功的创业公司一般都是由优秀的小团队组成。乔布斯说过,创业的成败取决于最早加入公司的那十个人。我们不需要村庄那种“小”, 而需要全明星的那种“小”。
8、高科技 = 可放大性。回顾历史,大多数创业财富而发财的人,都是通过开发新技术而实现的。小团队天生适合解决技术难题。大公司的规模决定了它们无法快速行动,因此它们开发缓慢。但有很多行业如航空这种大规模资本投入的领域,小公司无法与之相匹敌。
9、创业公司往往只有两种结局,要么赢得一切,要么彻底消失。如果你不喜欢这种大起大落,保险的做法是在早期卖到自己的创业公司,放弃未来发展壮大(但风险也随之增大)的机会。
<九.设计者的品味>
1、把品味说成个人的偏好可以有效杜绝争论,防止人们发声争执。但众多不同的学科之间,对“美”的认识有着惊人的相似性。
2、好设计是简单的设计。简单就是事物本身的特质,装饰反而意味着更多的工作。当你把东西做的很简单时,就不得不直接面对最真正的问题,不得不做好最本质部分。
3、好设计是永不过时的设计。以永不过时作为目标是一种帮助自己找到最佳答案的方法:如果你不愿别人取代你的答案,你就必须自己做出最好的答案。以永不过时为目标也是一种避免时代风潮影响的方法。
4、好设计是解决主要问题的设计。
5、好设计是启发式的设计。你的设计需要对后面的人具有一定的启发意义。
6、好设计通常是有点趣味性的设计。这样才能吸引人们。
7、好设计是看似容易完成,实则艰难的设计。
8、好设计是对称的设计。
9、好设计是模仿大自然的设计。
10、好设计是一种再设计。并不是一蹴而就的,需要不断的修改修正。
11、好设计是能够复制的设计。
12、好设计常常是奇特大胆的设计。
<十一:一百年后的编程语言>
1、冗余的代码会导致更多冗余的代码。
2、只有那些内核最小,最干净的编程语言才会存在进化的主干上,它的生命力越顽强。然而到目前为止,编程语言进化很缓慢,原因在于它们不是真正的技术,语言只是一种书写发。所以编程语言的进化更像数学符号的进化速度。
3、未来的计算机运算速度会更快。但肯定有对运算要求更高的应用程序。但是硬件的性能增强,带来的是运算性能的浪费。
4、效率低下的软件不等于很烂的软件,一种让程序员做无用功的语言才是真烂。浪费程序员的时间而不是浪费机器的时间才是真烂。
<十二:拒绝平庸>
1、真正非常严肃地把黑客当做人生目标的人,应该考虑学习Lisp:
Lisp很值得学习,你掌握它后,会感到它给你带来的很大启发。这会大大提高你的编程水平,使你成为一个更好的程序员,尽管在实际工作中极少会用到Lisp。
2、Lisp是目前最强大的编程语言,没有得到广泛使用的原因因为编程语言不仅仅是技术,也是一种习惯性思维,非常难于改变。
----------------------------
注:后几章是与编程有关的,是我最喜欢看的,这里就不总结了,作者写的很好了。