《黑客与画家》阅读笔记

  1. 云栖社区>
  2. 博客>
  3. 正文

《黑客与画家》阅读笔记

周兆熊 2015-12-15 19:22:12 浏览794
展开阅读全文

(本人正在参加2015博客之星评选,诚邀你来投票,谢谢:http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi)

(今天看了池建强老师的文章《再读黑客与画家(一)》,想到自己之前也写过有关这本书的文章,遂贴出来,各位看官慢慢品尝!)

在很多人的印象中,黑客是一群非常神秘的、编程技术非常高超的人,他们可以随心所欲地操纵计算机、盗取别人电脑上面的资料。而画家无非是一群以画画为生或对画画有着很浓厚的兴趣的人。那么,黑客与画家有什么关联呢?这两者是否能够相提并论呢?《黑客与画家》一书为我们带来了答案。

该书的作者是被誉为“硅谷创业之父”的Paul Graham,他与朋友在1995年开发了世界上第一个互联网应用软件Viaweb,并于1998年以4900万美元的价格卖给了Yahoo!。他将自己的思考写成一系列文章,于2004年结集为《黑客与画家》一书出版。

本书一共有15章,内容涉及编程、软件、创业、财富、设计、研究等。全书观点新奇而犀利,文笔流畅,逻辑清晰,可供IT及相关行业的从业人员和爱好者细细阅读。

阅读完全书之后,作者的以下几个观点给我留下了深刻的印象:

第一,程序写出来是给人看的,附带能在机器上运行。

之前,我在CSDN的“畅言”栏目上发表过一篇文章《首先为人编写程序,其次才是计算机》(http://www.csdn.net/article/2014-08-14/2821193),文中提到“只有易读、易维护的软件代码才具有生命力”。我的想法与作者的观点类似。也就是说,我们编写程序的时候,要遵从项目组约定好的编程规范,不能想怎么写就怎么写。我们写出来的程序,要让别人能够很快读懂,这样也有利于软件版本的演进及维护。

第二,正确的合作方法是将项目分割成严格定义的模块,每一个模块由一个人明确负责。

在一般的研发项目(包括本人所在的项目)中,都是按照这种方法来分配任务的。先将一个大的系统分成很多个小的子系统(子系统也许还会再分成更小的子系统),再将子系统分割成功能较为独立的模块,将每个模块分发给不同的开发人员来完成。在遇到问题的时候,直接找对应模块的开发人员就可以了。这种方法可以确保每一个模块都有人负责,且大家的任务不会重叠,同时也有利于模块的集成。

第三,大多数优秀的设计关注用户,并且以用户为中心。

在互联网时代(甚至是移动互联网时代),大部分的软件产品都是因用户的需求而生,都是以用户为中心进行设计和开发的。用户有上网购物的欲望,于是淘宝和京东便起来了;用户有随时随地聊天的必要,于是微信和陌陌便产生了;用户有偶尔表现自己的想法,于是微博也崛起了。在未来,只有关注用户,为用户解决实际问题的产品才会具有生命力。

《黑客与画家》一书字字珠玑,处处闪烁着智慧的光芒。如果你关注IT行业、关注未来、关注创业、关注财富,那么你一定能够从这本书中受益。

附:《黑客与画家》经典语句

第1章 为什么书呆子不受欢迎
1.“书呆子”的目标具有两重性。他们毫无疑问想让自己受欢迎,但是他们更愿意让自己聪明。

2.真实世界的特点是,它极其庞大。如果总体足够大,即使是人数最少的少数派,只要聚集在一起,也能产生可观的力量。

3.几乎在任何团体中都存在等级关系。

第2章 黑客与画家
1.黑客的最高境界是创造规格。

2.容易实施的考核总是首先被采用。

3.编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。

4.应该定期地从头开始,而不要长年累月地在一个项目上不断工作,并且试图把所有的最新想法都以修订版的形式包括进去。

5.不要太早决定一个程序应该怎么做。

6.坚持一丝不苟,就能取得优秀的成果。

7.正确的合作方法是将项目分割成严格定义的模块,每一个模块由一个人明确负责。

8.从他人的角度思考问题正是成功的奥秘所在。

9.程序写出来是给人看的,附带能在机器上运行。

第3章 不能说的话
1.一个好的科学家,并不仅仅是避开传统观点,还要努力打破传统观点。

2.自由思考比畅所欲言更重要。

第4章 良好的坏习惯
1.很自负的人必须培养出敏锐的感觉,及时发现周围情势的变化,知道怎样才能脱身。

第5章 另一条路
1.如果互联网软件能够击败桌面软件,一定是赢在更方便这一优势上。

2.互联网软件带来的最大变化之一,就是软件发布方式的改变。

3.实现某个构思,会带来更多的构思。

4.管理企业做到两点:做出用户喜欢的产品,保证开支小于收入。

第6章 如何创造财富
1.创造有价值的东西就是创造财富。

2.公司一切行为的目的都是盈利,从而生存下去。

3.要致富,需要两样东西:可测量性和可放大性。

4.创造人们需要的东西,也就是创造财富。

5.只要懂得藏富于民,国家就会变得强大。

第7章 关注贫富分化
1.财富与金钱是两个概念。

2.一旦通过创造财富而使致富成为可能,社会从整体上就会快速地变得更富有。

3.技术无法使其变得更便宜的唯一东西,就是品牌。

第8章 防止垃圾邮件的一种方法
1.在所有对抗垃圾邮件的方法之中,我认为单独来看,“贝叶斯过滤”是最有效的工具。

第9章 设计者的品味
1.好设计是简单的设计。

2.好设计是永不过时的设计。

3.好设计是解决主要问题的设计。

4.好设计是启发性的设计。

5.好设计通常是有点趣味性的设计。

6.好设计是艰苦的设计。

7.好设计是看似容易的设计。

8.好设计是对称的设计。

9.好设计是模仿大自然的设计。

10.好设计是一种再设计。

11.好设计是能够复制的设计。

12.好设计常常是奇特的设计。

13.好设计是成批出现的。

14.好设计常常是大胆的设计。

第10章 编程语言解析
1.编译器处理的高级语言代码又叫做源码,它经过翻译以后产生的机器码就叫做目标码。

第11章 一百年后的编程语言
1.一种语言的内核设计得越小、越干净,它的生命力就越顽强。

2.新语言更多地以开源项目的形式出现。

第12章 拒绝平庸
1.编程语言的特点之一就是它会使得大多数使用它的人满足于现状,不想改用其它语言。

第13章 书呆子的复仇
1.语言的编程能力越强大,写出来的程序就越短。

2.代码的数量很重要,因为开发一个程序所耗费的时间主要取决于程序的长度。

第14章 梦寐以求的编程语言
1.简洁性最重要的方面就是要使得语言更抽象。

2.开发大型程序的一个方法就是从一次性程序开始,然后不断地改进。

3.任何措施,只要能让“再设计”周而复始地进行下去,就都是可取的。

第15章 设计与研究
1.大多数优秀的设计关注用户,并且以用户为中心。

2.士气是设计的关键因素。

原文链接:http://www.zhouzhaoxiong.com/425.html

这里写图片描述

网友评论

登录后评论
0/500
评论
周兆熊
+ 关注