• 《黑客与画家》阅读笔记


    (本人正在參加2015博客之星评选。诚邀你来投票,谢谢:http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi)

    (今天看了池建强老师的文章《再读黑客与画家(一)》,想到自己之前也写过有关这本书的文章,遂贴出来,各位看官慢慢品尝!

    )

    在非常多人的印象中,黑客是一群非常神奇的、编程技术非常高超的人。他们可以随心所欲地操纵计算机、盗取别人电脑上面的资料。

    而画家无非是一群以画画为生或对画画有着非常浓厚的兴趣的人。

    那么。黑客与画家有什么关联呢?这两者是否可以相提并论呢?《黑客与画家》一书为我们带来了答案。

    该书的作者是被誉为“硅谷创业之父”的Paul Graham。他与朋友在1995年开发了世界上第一个互联网应用软件Viaweb。并于1998年以4900万美元的价格卖给了Yahoo!。他将自己的思考写成一系列文章。于2004年结集为《黑客与画家》一书出版。

    本书一共同拥有15章。内容涉及编程、软件、创业、財富、设计、研究等。

    全书观点新鲜而犀利,文笔流畅。逻辑清晰,可供IT及相关行业的从业人员和爱好者细细阅读。

    阅读全然书之后,作者的下面几个观点给我留下了深刻的印象:

    第一,程序写出来是给人看的,附带能在机器上执行。

    之前。我在CSDN的“畅言”栏目上发表过一篇文章《首先为人编敲代码。其次才是计算机》(http://www.csdn.net/article/2014-08-14/2821193)。文中提到“仅仅有易读、易维护的软件代码才具有生命力”。

    我的想法与作者的观点相似。也就是说,我们编敲代码的时候,要遵从项目组约定好的编程规范,不能想怎么写就怎么写。我们写出来的程序,要让别人可以非常快读懂。这样也有利于软件版本号的演进及维护。

    第二,正确的合作方法是将项目切割成严格定义的模块,每个模块由一个人明白负责。

    在一般的研发项目(包含本人所在的项目)中,都是依照这样的方法来分配任务的。先将一个大的系统分成非常多个小的子系统(子系统或许还会再分成更小的子系统),再将子系统切割成功能较为独立的模块,将每个模块分发给不同的开发者来完毕。

    在遇到问题的时候,直接找相应模块的开发者就行了。这样的方法可以确保每个模块都有人负责。且大家的任务不会重叠。同一时候也有利于模块的集成。

    第三,大多数优秀的设计关注用户,而且以用户为中心。

    在互联网时代(甚至是移动互联网时代),大部分的软件产品都是因用户的需求而生,都是以用户为中心进行设计和开发的。用户有上网购物的欲望,于是淘宝和京东便起来了;用户有随时随地聊天的必要,于是微信和陌陌便产生了;用户有偶尔表现自己的想法,于是微博也崛起了。在未来,仅仅有关注用户,为用户解决实际问题的产品才会具有生命力。

    《黑客与画家》一书字字珠玑。处处闪烁着智慧的光芒。

    假设你关注IT行业、关注未来、关注创业、关注財富,那么你一定可以从这本书中受益。

    附:《黑客与画家》经典语句

    第1章 为什么书呆子不受欢迎
    1.“书呆子”的目标具有两重性。

    他们毫无疑问想让自己受欢迎。可是他们更愿意让自己聪明。

    2.真实世界的特点是,它极其庞大。

    假设总体足够大,即使是人数最少的少数派。仅仅要聚集在一起,也能产生可观的力量。

    3.差点儿在不论什么团体中都存在等级关系。

    第2章 黑客与画家
    1.黑客的最高境地是创造规格。

    2.easy实施的考核总是首先被採用。

    3.编程语言是用来帮助思考程序的。而不是用来表达你已经想好的程序。

    4.应该定期地从头開始。而不要长年累月地在一个项目上不断工作,而且试图把全部的最新想法都以修订版的形式包含进去。

    5.不要太早决定一个程序应该怎么做。

    6.坚持一丝不苟。就能取得优秀的成果。

    7.正确的合作方法是将项目切割成严格定义的模块。每个模块由一个人明白负责。

    8.从他人的角度思考问题正是成功的奥秘所在。

    9.程序写出来是给人看的。附带能在机器上执行。

    第3章 不能说的话
    1.一个好的科学家。并不仅仅是避开传统观点,还要努力打破传统观点。

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

    第4章 良好的坏习惯
    1.非常自负的人必须培养出敏锐的感觉,及时发现周围情势的变化。知道如何才干脱身。

    第5章 还有一条路
    1.假设互联网软件可以击败桌面软件。一定是赢在更方便这一优势上。

    2.互联网软件带来的最大变化之中的一个。就是软件公布方式的改变。

    3.实现某个构思。会带来很多其它的构思。

    4.管理企业做到两点:做出用户喜欢的产品,保证开支小于收入。

    第6章 如何创造財富
    1.创造有价值的东西就是创造財富。

    2.公司一切行为的目的都是盈利,从而生存下去。

    3.要致富。须要两样东西:可測量性和可放大性。

    4.创造人们须要的东西。也就是创造財富。

    5.仅仅要懂得藏富于民,国家就会变得强大。

    第7章 关注贫富分化
    1.財富与金钱是两个概念。

    2.一旦通过创造財富而使致富成为可能,社会从总体上就会高速地变得更富有。

    3.技术无法使其变得更廉价的唯一东西。就是品牌。

    第8章 防止垃圾邮件的一种方法
    1.在全部对抗垃圾邮件的方法之中。我觉得单独来看,“贝叶斯过滤”是最有效的工具。

    第9章 设计者的品味
    1.好设计是简单的设计。

    2.好设计是永只是时的设计。

    3.好设计是解决主要问题的设计。

    4.好设计是启示性的设计。

    5.好设计一般是有点趣味性的设计。

    6.好设计是艰苦的设计。

    7.好设计是看似easy的设计。

    8.好设计是对称的设计。

    9.好设计是模仿大自然的设计。

    10.好设计是一种再设计。

    11.好设计是可以复制的设计。

    12.好设计经常是奇特的设计。

    13.好设计是成批出现的。

    14.好设计经常是大胆的设计。

    第10章 编程语言解析
    1.编译器处理的高级语言代码又叫做源代码,它经过翻译以后产生的机器码就叫做目标码。

    第11章 一百年后的编程语言
    1.一种语言的内核设计得越小、越干净,它的生命力就越顽强。

    2.新语言很多其它地以开源项目的形式出现。

    第12章 拒绝平凡
    1.编程语言的特点之中的一个就是它会使得大多数使用它的人满足于现状,不想改用其它语言。

    第13章 书呆子的复仇
    1.语言的编程能力越强大,写出来的程序就越短。

    2.代码的数量非常重要,由于开发一个程序所耗费的时间主要取决于程序的长度。

    第14章 梦寐以求的编程语言
    1.简洁性最重要的方面就是要使得语言更抽象。

    2.开发大型程序的一个方法就是从一次性程序開始,然后不断地改进。

    3.不论什么措施。仅仅要能让“再设计”周而复始地进行下去,就都是可取的。

    第15章 设计与研究
    1.大多数优秀的设计关注用户。而且以用户为中心。

    2.士气是设计的关键因素。

    原文链接:http://www.zhouzhaoxiong.com/425.html

    这里写图片描写叙述

  • 相关阅读:
    leetcode 43. 字符串相乘
    leetcode 20. 有效的括号 (python)
    leetcode 125. 验证回文串(python)
    leetcode 171. Excel表列序号(python)
    leetcode 190. 颠倒二进制位(c++)
    leetcode 122. 买卖股票的最佳时机 II (python)
    leetcode 118. 杨辉三角(python)
    leetcode 141. 环形链表(C++)
    leetcode 189. 旋转数组(python)
    leetcode 217. 存在重复元素 (python)
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7224030.html
Copyright © 2020-2023  润新知