《黑客与画家》读后感

黑客与画家,这两个词正是格雷厄姆前半生的人生写照。“黑客”(hacker)在我们大多数人眼里就是入侵计算机、干破坏性事情的人。但是,在很久以前这个词被发明的时候,“黑客”,完全是正面意义上的称呼。“黑客”这个词不仅是一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。

这个书名就是在提示应该把黑客与画家当作同一种人看待。和画家一样,黑客也是怀有一门特殊手艺、有创造天赋的普通人。

第一章,为什么书呆子不受欢迎。在本书中,“书呆子”被称呼为“聪明的学生”,他们不受欢迎的真正原因,是他们的注意力都放在读书或者观察世界上面,而不是放在穿衣打扮、外表上面。

第二章,黑客与画家。黑客与画家的共同之处在于他们都是创作者。与作曲家、建筑师、作家一样,黑客和画家都是试图创作出优秀的作品。他们本质上都不是在做研究。

黑客的工作方式:1.黑客真正想做的是设计优美的软件,但是考核这种工作是非常困难的,唯一有效的外部考核就是时间。经过岁月的洗礼,优美的东西生存发展的机会更大,丑陋的东西往往会被淘汰。

2.黑客编程的编程语言首要的是特性应该是允许动态扩展,需要的是一种可以可以随意涂改、擦擦改改的语言。

3.黑客通常在业余时间做自己的项目,通过实践学习编程。他们可以通过范例来学习,不是看代码的执行结果,而是看源代码。

4.黑客认为“过早设计”与“过早优化”同样是一件危险的事,不要太早决定一个程序应该怎么做。

5.黑客就像画家,工作起来是有心里周期的。有些工作需要投入巨大的热情,另一些工作则是需要很操心的日常琐事。那么在你厌倦的时候再去做那些比较容易的工作。

6.多人共同开发,需要合作,但是不要“合”得过头。如果一个代码块由三四个人共同开发,就没有真正“拥有”这块代码。正确的合作方式是将项目分割成严格定义的模块,每一个模块由一个人明确负责。

7.时刻考虑到用户的人性需求,必须学会“换位思考”,能够站在用户的角度思考问题。但是,“换位思考”并不意味着你要做自我牺牲,了解别人对于事情的看法,并不代表你为他的利益服务。

第三章,不能说的话。要是能坐上时间机器回到过去,不管哪一个年代,有一件事都是不会改变的,那就是"祸从口出"。那到底什么话是我们不能说的?当然,要注意的是,并不是所有不能说出的话都是我们要找的答案。实际上,只要同时满足两个条件才行。第一个条件是,这些话不能说出口;第二个条件是,它们是正确的,或者看起来很可能正确,值得进一步讨论。如果达不到第二个条件,大部分情况下你都不会有麻烦。

   第四章,良好的坏习惯。总体看来,黑客是不服从管教的,他们不服从管教的性格是利大于弊的。与其他美国人一样,黑客的成功秘诀就是打破常规。

第五章,另一条路。互联网软件带来的最大变化之一,就是软件发布方式的改变。互联网软件运行在服务器上,用户界面就是网页。

  第六章,如何创造财富。最好的办法就是自己创业,或者加入创业公司。

  第七章,关注贫富分化。与下棋、画画、写小说一样,赚钱也是一种专门的技能。但是,处于某种原因,我们以完全不同的态度对待这种技能。如果某些人下棋或写小说,没有人会有意见;但是某些人善于赚钱,报纸上会有社论出来说这是不对的。每个人的技能不同,导致收入不同,这才是贫富分化的主要原因。

第八章,防止垃圾邮件的一种方法。统计学过滤器。

   第九章,设计者的品味。好的设计是简单的、永不过时的、解决主要问题的、启发性的、有点趣味性的、艰苦的、看似容易的、对称的、模仿大自然的设计,是可以再设计、能够复制、常常是奇特的设计。

第十章 ,编程语言解析。计算机和其他机器一样,也有一张操作命名清单。

第十一章,一百年后的编程语言。一百年后,人类怎样编程?为什么不从现在开始就这样编程呢?

第十二章,拒绝平庸。想要不被别人模仿,就需要与别人保持与众不同,Viaweb公司的秘密武器是Lisp语言,Lisp语言开发速度惊人,是一种很强大的编程语言。编程语言的特点之一就是它会使得大多数使用它的人满足于现状,不想改用其他语言。

第十三章,书呆子的复仇。在高科技行业,只有失败者采用“业界最佳实践”。

  第十四章,梦寐以求的编程语言。一种好的编程语言,是让黑客可以随心所欲使用的语言。

  第十五章,设计与研究。1.设计与研究的区别在于,设计追求“好”,研究追求“新”。一个软件需要考虑的是“用户需要的设计”,而不是“用户要求的设计”。让用户满意并不等于迎合用户的一切要求。关注用户,以用户为中心,此用户指的是“目标用户”。

2.在软件领域,贴近用户的设计思想被归纳为“弱即是强”。如果你正在设计某种新东西,就应该尽快那出原型,听取用户意见,而不是等到完整的成品出来后再一下子隆重推向市场。

3.士气是设计的关键因素。先做出原型,再逐步加工做出成品。就像画作永远没有完工的一天,你只是不再画下去而已。

时间: 2024-10-07 05:31:12

《黑客与画家》读后感的相关文章

大道至简第五章读后感

第五章 失败的过程也是过程 今天照样老师带领着我们阅读了大道至简第五章,阅读了<大道至简>的第五章,这章在前面的基础上又进了一步,有了技术和团队,加上有效的沟通,接下来就要接项目做工程. “虚有其表耳”,本章以<明皇实录>中的一句话来告诉我们一个深刻的道理:不要只求外表,只做形象工程,而是要透过表象,力求实质. 失败了不要紧,没有失败也就找不到自己的不足,也就不会发现自己的问题,更不用谈改进了.我们的前辈们就是在不断的失败中才总结出了“瀑布模型”“螺旋模型”等模型,方便了我们.但是

大道至简 第五章读后感

第五章 失败的过程也是过程 以得失而论,在瀑布模型与RUP模型之间,学习前者而不成,可思过程的本质:学习后者而不成,可得文字的架子. 如果懂得了所谓的模型原本都演化自那个简单的瀑布,那么文档是按XP写还是按RUP写,也就可以应时.应需,因地置宜,择善而从了. 越是简单的东西,往往越是接近于本质. 项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同地完成这个项目.四川有句地方话叫“做过场”,也有说成“走过场”的.“过场”是舞台术语,意思是角色从舞台一端出场,再走到另一端

大道至简 第五章 失败的过程也是过程 读后感

今天该写一写大道至简第五章读后感了. 首先是“做过程不是做工程”,过程是为了实现某种目的而经历的一些事情,过程有很多种,虽然经历了某种过程,但不一定能实现某种功能.做完过程的每一个阶段,并不等于做工程.做过程不是做工程的精义,也不是最终目的. 然后是“做过场”,做过场就好像是一种形式一样,做了没必要做的事情,就是浪费时间. 我们为什么做工程,不要忘了最终目的.目的,是实现客户的要求,工程只是一种实现的途径.最初做开发的前辈们,不用什么工程或者过程,也一样编出了程序,也一样解决了问题,也一样实现了

大道至简第七章读后感

大道至简第七章读后感——现实中的软件工程 “王不如远交而近攻,得寸,则王之寸:得尺,亦王之尺也.”——<战国策.秦策> 1:大公司手中的算盘 文中列举了IBM,Borland和Microsoft的一些体系,来说明大公司眼中的世界. 大公司们在标准.理论.语言上的争来夺去,未必全然出于“软件实现”的考虑.对统一理论.统一工具.统一过程的企图,其最终目的是在整个软件工程体系中的全面胜出.算 盘 上 的 绝 大 多 数 人 , 只 是 用 于 计 算 胜 负 的 一 枚 算子.所谓编程语言,只不过是

大道至简第五章阅读感想

第五章失败的过程也是过程 今天王建民老师依旧带领着我们阅读了大道至简第五章,第五章是失败的过程也是过程.通过前面的技术.团队和沟通,这章主要讲了关于做工程的问题. 文章开篇以一句<明皇实录>中的“虚有其表耳”来说明一个很重要的问题就是:不能只求外表,而是要透过表象,力求实质. 第五章的整体思想是让我们注重过程,因为有很多人从来不注重过程,只注重结果.然而过程对于一个编程人员也是非常重要,如果一个好的编程员从来不在乎程序的过程,只是关心最后程序是否能够实现,那么这个编程员一定不是一个好的编程员.

大道至简 第六章 读后感

说点什么呢,今天看了看大道至简第六章<从编程到工程>. 文章以<列子·说符>的“得其精而忘其粗,在其内而忘其外:见其所见,不见其所不见,视其所视,而遗其所不视.”为题记.第一节讲了“语言只是工具”,作者讲述了他曾经对一些编程语言的看法.他曾经也热衷于讨论语言的优劣,但是他现在不这样了,他已经不再专注于语言, 正如他在第一章中写到的一样:成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的.确实,程序的好坏不在于语言,在于算法. 第二节又写了“程序”,程序=算法+结构,编程的精义于此

《大道至简》第一章读后感

经常听见有人抱怨编程太难,说自己不是学软件的料,那么他们真该好好看看<大道至简>这本书,相信他们看完这本书后会有很大收获. <大道至简>第一章引用了一个很简单的故事“愚公移山”,用这个故事很好的概述了我们在完成一个项目时所要进行的步骤.听上去“愚公移山”和编程简直是风马牛不相及,但是看过作者的叙述又有原来如此的感觉.其实编程并没有什么难懂的,就和我们日常生活一样,发现问题,分析问题,提出解决问题的方案,实施,和后续的验收.例如某天我们突然发现家里放不出水了,这就是发现问题,我们会观

大道至简第三章读后感

---恢复内容开始--- 大道至简第三章的是团队的问题.我们知道,随着人们生活水平的不断提高,用户对计算机软件的功能要求也日趋上升.这样一来,计算机软件就变得越来越复杂,规模变得越来越庞大,源代码的量也越来越多.在这种市场需求和自身发展的共同要求之下,一个团结而高效的开发团队的作用就不言而喻了.那么如何打造一支强有力.听指挥.能干活的开发团队呢?这一章作者就这个问题和我们展开了讨论. 作者着重的强调了项目经理在开发团队中的作用.首先声明一点,这并不是说团队的开发人员不重要,作者从始至终都认为编程

一切都是为了实现-大道至简第六章读后感

大道至简第六章的内容比较多,也比较深.或者说这一章作者是从一个更高的层次.更开阔的视野.更独特的角度来解读软件工程这四个字的具体含义的. 作者的这些肺腑之言都是作者在软件行业工作了多年之后总结出来的.开发技术对一个软件产品质量的好坏和最终的成功的影响并虽然不能说是一点也没有,但也不是很大.真正起到决定性因素的不是那些技术细节,而是一个高度过程化.通晓方法论.拥有大量工具的开发团队或者是开发公司.在这个团队里面,无论是对项目经理还是开发经理甚至是一个普通的开发人员的要求都是很高的.团队内的每个人必

《大道至简》第一章读后感和伪代码

阅读了<大道至简>第一章,感到作者对编程的精义分析非常具体形象,引用<愚公移山>的故事,说明了编程的本质.又将他们扮演的管理者,技术人员,程序分析师众多形象展现出来.又在困惑人们的"我能不能学会编程"这一问题做出回答,作者列举生活实例,给出了肯定的答案,将很多抽象的东西,简单化,通过最常见的生活中的实例介绍"大道". import java.大道至简.*; public class.yishan.*; { public static void