(书生注:这本书写的不错。针对程序员,可以带来不同角度的想法,有助于反思自己的程序员工作。我甚至从中发现了自己爱用铅笔的原因。。。  尤其是其中关于黑客的定义,包括黑客认为的乐趣和目的,让人更深层次思考自己工作的意义。

 
翻译的人也真不容易,满篇都是译注,谁是文艺复兴时的艺术家,做过什么,谁又是什么理论家,有什么思想。。。

 
下面留下一些印象较深的话,就当笔记了。)

[译者序]

 
 
 
“黑客”这个词不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。也就是说,从一开始,黑客就是有精神追求的。自由软件基金会创始人理查德斯托尔曼说:“出于兴趣而解决某个难题,不管它有没有用,这就是黑客。”

 
 
 
“对于黑客来说,关着的门就是一种挑衅,而锁着的门则是一种侮辱。”

[致读者]

 
 
 
我们还要遗憾地告诉读者,微软公司的公关顾问在读完第5章后,不同意授权我们使用他们手中的比尔盖茨照片。我们因此要感谢新墨西哥州阿尔伯克基市警察局提供第89页上的替代照片。

[2黑客与画家]

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

 
 
 
黑客真正想做的是设计优美的软件,考核这种工作是非常困难的。

 
 
 
(书生注:因为自己习惯的编程方法和大学里教的不一样)很长时间内我都为此事沮丧,就像小学里老师教我怎么拿铅笔,我却总是学不会的那种感觉。

 
 
 
编程语言是用来帮助思考(书生注:包括验证)程序的,而不是用来表达你已经想好的程序。它应该是一支铅笔,而不是一支钢笔。

 
 
 
大公司为了避免设计上的灾难,选择了减少设计结果的标准差。但是当你排斥差异的时候,你不仅将失败的可能性排除在外,也将获得高利润的可能性排除在外。……大公司只要做到不太烂,就能赢。

 
 
 
看到代码前面的缩进乱七八糟,或者看到丑陋的变量名,都会把我逼疯的。

 
 
 
……所以软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册。

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

[读书笔记]黑客与画家[Hackers.and.Painters]的更多相关文章

  1. 软工读书笔记 week4 ——《黑客与画家》下

    因为时间有限,只对书中后半部分几个篇章进行了阅读.        一.另一条路       作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...

  2. 软工读书笔记 week3 (《黑客与画家》上)

    一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...

  3. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  4. MacTalk·人生元编程 - 读书笔记

    简介 <MacTalk·人生元编程>是一本随笔文集,主要内容来自作者的微信公众平台"MacTalk By 池建强".本书撰写于2013年,书中时间线却不止于此.作者以一 ...

  5. web前端安全---读书笔记

    web前端安全---读书笔记 粗略的看完了Web前端黑客技术揭秘前两章了,由于自身的前端功力不深,当然也是初涉前端的安全问题,所以实话还是有些问题看不太明白的.在豆瓣看到的这本书,名字真心有点很肥主流 ...

  6. 黑客伦理(hacker ethic)--《黑客与画家》

    使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制.任何事情都应该亲手尝试. Access to computers--and anything that might teach you ...

  7. 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?

    写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

随机推荐

  1. Case of the Zeros and Ones

    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Andrew ...

  2. SGU 106 The Equation 扩展欧几里得应用

    Sol:线性不定方程+不等式求解 证明的去搜下别人的证明就好了...数学题. #include <algorithm> #include <cstdio> #include & ...

  3. Chrome 快捷键

    chrome窗口和标签页快捷键: Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 ...

  4. Oracle时间戳

    查询某一具体时间某张表的数据,可以用时间戳进行查询. 例如: SELECT * FROM sac14 AS OF TIMESTAMP to_date('201508310930','yyyymmddh ...

  5. Struts2+Spring+Hibernate step by step 03 整合Spring之中的一个(在DAO层验证username和password)

    注:该系列文章部分内容来自王健老师编写SSH整合开发教程 目的:通过Spring创建数据库的连接,并通过Spring进行事务管理. 第一步:将Spring的包拷贝至当前项目的lib文件夹下,例如以下图 ...

  6. C语言,数据类型

    #include <stdio.h> void f0(void) { printf("in linux:\n"); printf("sizeof(char) ...

  7. 第1章 软件测试基本概念(Week1,3月3日)

    一.对软件的认识 1. 什么是软件 2. 软件的分类 3. 软件开发的生命周期模型 (1)瀑布模型 (2)Scrum 其实对用瀑布模型这种臃肿不堪.要求严格.而无法适应软件开发周期变化的开发模型,渐渐 ...

  8. perl学习(9) 实例:取出操作时间最长的100个记录

    需求描述: 日志记录了一次操作的时间,即server端接收包到发送结果到client端的时间,取出操作时间最长的100个记录. 日志信息片段: [2013-09-13 15:23:50,445.500 ...

  9. android 按字母搜索

    在看Oplayer的时候看见滑动字母来实现listView的内容搜索,所以就把里面的核心的函数扣除来做了一个demo,分为两部分一个是布局,另一个就是代码了,具体的如下: 布局: <?xml v ...

  10. 认识axure组件区域

    组件区域也叫做部件区域,英文为widgets,还有人称之为控件区域,组件是axure事先准备好的网站项目常用的零件,比如一些基本的页面元素 Axure默认存在2个组件库,分别为线框图和流程图.同时我们 ...