黑客与画家读后感

第一章 为什么书呆子不受欢迎

任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入。

真正的世界之所以能友好的对待书呆子,并非在于它是由成年人组成的,而在于它的庞大规模使得你做的每件事都能产生真正意义上的效果。

几乎任何团体都存在等级关系。成年人形成的团体一般是因为存在某个共同目标;学生内部形成的团体虽然没有共同目标,但是等级是凭空创造出来的。

第二章 黑客与画家

“做什么”和“怎么做”不应该分的太开。黑客的最高境界是创造规格。

创造优美事物的方式往往不是从头做起,而是在现有成功的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。

名望有很大的随机性。

书上说,调试(debugging)是最后的步骤,用来纠正打字的错误和疏忽。可是我的工作方法看上去却像编程就是在调试。其实这个方法有一个正式的名字:打草稿,你把整个程序想清楚的时间点应该是在编写代码的同时。

编程语言首要的特性应该是允许动态扩展。编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。

大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师。大公司为了避免设计上的灾难,选择了减少设计结果的标准差。

真正竞争软件设计的战场是新兴领域的市场,这里还没有人建立过防御工事。只要你能做出大胆的设计,由一个人或一批人同时负责设计和实现产品,你就能在这哭战胜大公司。

如果你不爱一件事,你不可能把它做的真正优秀,要是你很热爱编程,你就不可避免的会开发你自己的项目。

大多黑客从实践中学习编程。应该定期地从头开始,而不要长年累月地在一个项目上不断工作,并且试图把所有的最新想法都以修订版的形式包括进去。

黑客的出发点是原创,最终得到一个优美的结果;而科学家的出发点是别人优美的结果,最终得到原创性。

黑客可以通过观看优秀的程序学会编程,不是看它们的执行结果,而是看它们的源代码。应该预先承认规格设计是不完美的,在编程的时候,就可以根据需要当场修改规格,最终会有一个好的结果。

过早优化是一件危险的事情。坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变得可见了。

消灭bug的过程就像解一道数学题,已知许许多多的约束条件,你只要根据条件对方程求解就可以了。

共同开发软件的共同做法是,将项目分割成严格定义的模块,每一个模块由一个人明确负责,模块与模块直接的接口经过精心设计。

程序写出来是给人看的,附带能在机器上运行。——学会“换位思考”

第三章 不能说的话

想要做出优秀的作品,你需要一个什么问题都能思考的大脑,尤其是那些似乎不应该思考的问题,你的大脑也要养成思考它们的习惯。

智力越高的人,越愿意去思考那些惊世骇俗的思想观点。

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

第五章 另一条路

如果互联网软件能够击败桌面软件,一定是应在更方便这方面的优势。

互联网软件的发布规则是:它运行不了,你就无法发布;一旦它能运行了,你就可以立即发布。

发布软件第一年后就不必每分钟都盯着服务器了,但是对新变动的部分一定要密切关注。不要在半夜里发布代码然后回家睡觉。

管理企业只需要记住两点:做出用户喜欢的产品,保证开支小于收入。

如何制作出用户喜欢的产品?从制造简洁的产品着手,首先要保证你自己愿意使用,然后迅速做出1.0版本,并不断加以改进,整个过程中密切地倾听用户的反馈。低端的用户要求简化操作和清晰易懂,高端的用户要求你增加新功能。

不要被大公司吓到,你能做到它做不到的事情,正如它能做到你做不到的事情已有。开发互联网软件不需要得到任何人的许可,没有人能够阻止你。

第六章 如何创造财富

通过创造有价值的东西在市场上得到回报,从而致富。我们选择创业,不仅在于合法,还在于简单:你只要做出别人需要的东西就可以了。

在大公司中,你只要一般性的努力工作,就能得到意料之中的心水。但是,现实是你在工作上投入的精力越多,就越能产生规模效应。

创业公司的真正意义是:你与其他愿意更努力工作的人一起组成一个团队,共同谋取更高的回报。

收购最难的地方就是让买家真正拿出钱。大多数时候,促成买方掏钱的最好方法不是让买家看到有获利的可能性,而是让他们感到失去机会的恐惧。

创造人们需要的东西,也就是创造财富,所以要关注用户数量

第七章 关注贫富分化

财富与金钱是两个概念。金钱只是用来交易财富的一种手段,财富才是有价值的东西,我们购买的商品和服务都属于财富。

第九章 设计者的品味

美感是第一道关卡。丑陋的数学在世界上无法生存。

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

第十章 编程语言解析

一个操作所需的代码越多,就越难避免bug,也越难发现它们。

第十二章 拒绝平庸

选择使用哪一种技术的时候,你不能考虑别人的做法,只能考虑什么样的技术能最好的完成工作。

posted @ 2021-10-30 22:11  软工新人  阅读(48)  评论(0编辑  收藏  举报