[读书笔记]黑客与画家[Hackers.and.Painters]
(书生注:这本书写的不错。针对程序员,可以带来不同角度的想法,有助于反思自己的程序员工作。我甚至从中发现了自己爱用铅笔的原因。。。 尤其是其中关于黑客的定义,包括黑客认为的乐趣和目的,让人更深层次思考自己工作的意义。
翻译的人也真不容易,满篇都是译注,谁是文艺复兴时的艺术家,做过什么,谁又是什么理论家,有什么思想。。。
下面留下一些印象较深的话,就当笔记了。)
[译者序]
“黑客”这个词不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。也就是说,从一开始,黑客就是有精神追求的。自由软件基金会创始人理查德斯托尔曼说:“出于兴趣而解决某个难题,不管它有没有用,这就是黑客。”
“对于黑客来说,关着的门就是一种挑衅,而锁着的门则是一种侮辱。”
[致读者]
我们还要遗憾地告诉读者,微软公司的公关顾问在读完第5章后,不同意授权我们使用他们手中的比尔盖茨照片。我们因此要感谢新墨西哥州阿尔伯克基市警察局提供第89页上的替代照片。
[2黑客与画家]
黑客与画家的共同之处,在于他们都是创作者。与作曲家、建筑师、作家一样,黑客与画家都是试图创作出优秀的作品。他们本质上都不是在作研究,虽然在创作过程中,他们可能会发现一些新技术(那样当然更好)。
黑客真正想做的是设计优美的软件,考核这种工作是非常困难的。
(书生注:因为自己习惯的编程方法和大学里教的不一样)很长时间内我都为此事沮丧,就像小学里老师教我怎么拿铅笔,我却总是学不会的那种感觉。
编程语言是用来帮助思考(书生注:包括验证)程序的,而不是用来表达你已经想好的程序。它应该是一支铅笔,而不是一支钢笔。
大公司为了避免设计上的灾难,选择了减少设计结果的标准差。但是当你排斥差异的时候,你不仅将失败的可能性排除在外,也将获得高利润的可能性排除在外。……大公司只要做到不太烂,就能赢。
看到代码前面的缩进乱七八糟,或者看到丑陋的变量名,都会把我逼疯的。
……所以软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册。
“程序写出来是给人看的,附带能在机器上运行。”
[读书笔记]黑客与画家[Hackers.and.Painters]的更多相关文章
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...
- MacTalk·人生元编程 - 读书笔记
简介 <MacTalk·人生元编程>是一本随笔文集,主要内容来自作者的微信公众平台"MacTalk By 池建强".本书撰写于2013年,书中时间线却不止于此.作者以一 ...
- web前端安全---读书笔记
web前端安全---读书笔记 粗略的看完了Web前端黑客技术揭秘前两章了,由于自身的前端功力不深,当然也是初涉前端的安全问题,所以实话还是有些问题看不太明白的.在豆瓣看到的这本书,名字真心有点很肥主流 ...
- 黑客伦理(hacker ethic)--《黑客与画家》
使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制.任何事情都应该亲手尝试. Access to computers--and anything that might teach you ...
- 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?
写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
随机推荐
- Android跟蓝牙耳机建立连接有两种方式
Android 跟蓝牙耳机建立连接有两种方式. 1. Android 主动跟蓝牙耳机连BluetoothSettings 中和蓝牙耳机配对上之后, BluetoothHeadsetService 会收 ...
- CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】
安装git 关于安装git 可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍 1. Git 的工作需要调用 curl,zlib,open ...
- JavaScript下全选反选的Demo程序里实现checkmeonly函数 DOM
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java -强引用&弱引用
⑴强引用(StrongReference) 就是通过new得的对象引用 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足,Java虚拟机宁愿抛出OutOfMe ...
- HDOJ 1217 Floyed Template
解题思路:1.map简单应用2.Floyd算法的变形,之后判断dis[i][i],如果大于1,则存在利润! #include <iostream> #include <stdio.h ...
- HDOJ 1272 并查集 不相同父节点
判断两点:1.任何2点的父节点不能相同->否则会导致2点间有多条通路2.所有点只有1个集合 存在一个小坑,就是第一次输入 0 0 的时候,应该输出 Yes , 否则会WA MY AC Code ...
- Mac中QT程序发布
基于Qt开发的应用程序进驻Mac App Store 最近摸索着将一个基于用Qt开发的App发布到Mac App Store,在网上查找相关资料的时候,发现很多文档都过期了,要有一些修改,所以想记录下 ...
- 不可表示的数[x/2] + y + x * y
前端是时间在庞果网上看到不可表示的数的编程题(如下),我自己也试着解答了一下,写的算法虽然没有没有错,但是跑了一些还只是跑到a8,后来到自己整理一下网上的解答过程,虽然解答写的很清晰,但是有些知识还是 ...
- 在vc中使用xtremetoolkit界面库-----安装及环境配置
近期想用一下xtremetoolkitPro界面库.网上的使用教程资源也不多,当中着实遇到了很多的困难,毕竟是首次使用. 首先当然是配置发开环境了: 我使用的是vc6.0+xtremetoolkitP ...
- C# - InnerList
运行效果: 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...