第二章:黑客与画家

来源:互联网 发布:深入浅出软件开发 编辑:程序博客网 时间:2024/05/16 17:38
第二章:黑客与画家

1.建筑学和工程学之间的区别并不是很严格的,但就是存在区别。这表现在“做什么”和怎么做;建筑师决定做什么,工程师决定怎么做;


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

3.你把整个程序想清楚的时间点,应该是在编写程序的同时,而不是在编写代码之前,这与作家画家和建筑师的作法完全一样。编程语言的首要特性应该是允许动态扩展。编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。他应该是一支铅笔,而不是一支钢笔。
.
4.“换位思考”并不意味着你要做出自我牺牲。实际上,这是完全不同的两回事。了解别人对于事物的看法,并不代表你为他的利益服务。某些情况下,比如打仗的时候,了解对手正是为了打击对手。

5.判断一个人是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。我们大概都认识这样的一些人,他们在其他方面非常聪明,但是把问题解释清楚的能力却惊人的低下。

6.程序写出来是给人看的,附带能在机器上运行。
 
原创粉丝点击