美文网首页@IT·互联网@产品读书笔记
读书笔记《黑客与画家:硅谷创业之父Paul Graham文集》(

读书笔记《黑客与画家:硅谷创业之父Paul Graham文集》(

作者: 阿喵肉饼 | 来源:发表于2020-04-26 00:09 被阅读0次

    后半本主要讲的是程序员角度看编程,对于不懂编程的小白也很友好,于是记下来了觉得有用的部分。看到书最后列出的大量术语解释有些惊讶,阅读感受并没有因为这么多不懂的概念产生不适应。Anyway,学会了再回头补课。

    防止垃圾邮件:贝叶斯过滤器

    (略)

    9 设计者的品味:什么是好设计

    什么是好?什么是美?做出好的成果,产生好的产品,树立好的品牌,道理都是相通的。作者谈的是好设计,其他的事情都可以借鉴。

    品味不仅仅是个人偏好,不同学科对“美”的认识有着惊人的相似。

    好的设计是简单的设计。当你必须把东西做得很简单,就必须直面真正的问题。当你不能用表面装饰交差时,你就不得不做好真正的本质部分。

    好的设计永不过时。如果一件东西长盛不衰,它的吸引力一定来自本身的魅力,而不是风潮的影响。未来的人们不会在乎今天流行的风潮。

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

    好设计具有启发性。在科学领域,总体上可以把被引用次数看作对他人启发性大小的粗略指标。

    好设计通常是有点趣味性的设计。幽默在一定程度上反映了力量。充满自信的人常常像燕子一样,以一种居高临下的姿态轻盈地看待周围的一切。

    好设计是艰苦的设计。如果观察做出伟大作品的人,他们的共同点就是工作得非常艰苦。痛苦也分为有益和无益。你需要咬牙向前冲的痛苦,而不是脚被钉子扎破的痛苦。

    好设计是看似容易的设计。在大多数领域,看上去容易的事情,背后都需要大量的练习。所谓进入“状态”,是练习到拥有本能反应,释放直觉。

    好设计是对称的设计。对称分为两种:重复性对称和递归性对称。

    好设计是模仿大自然的设计。大自然在长期演化中已经解决了很多设计问题。

    好设计是一种再设计。很少有人一次就把事情做对。用合适的工具,合适的方法,对原型进行修改优化。

    好设计是能够复制的设计。模仿-熟练-创作。把事情做对比原创更重要。不知不觉的模仿会导致坏设计,你必须知道想法从何而来,否则就是在模仿一个模仿者。大师最终会到达一种超脱自我的境界。他们一心找到正确答案,如果别人已经回答出一部分,他们可以自信地拿来使用,完全不担心因此丧失个人特点。

    好的设计常常是奇特的设计。好设计的大多数特点都可以培育出来,但“奇特”不是。你的风格是自然而然形成的,唯一达到“奇特”的方法,就是追求做出好作品,完成之后再回头看。

    好设计是成批出现的。比如15世纪的佛罗伦萨。让有天赋的人聚在一起,共同解决某个难题。互相激励比天赋更重要,达·芬奇之所以是达·芬奇,主要原因不仅仅是天赋,更重要的是他生活在当时的佛罗伦萨。历史的任何时刻都有一些热点项目,一切团体在这些项目上做出伟大的成绩。你不可能决定趋势,实际上是趋势决定了你。

    好设计常常是大胆的设计。我们这个时代与以往时代并无不同。发现丑陋要比想象优美更容易。伟大的成果常常源于某人看到一样东西后,心想我能做得更好。

    10 编程语言解析

    (略)

    11 一百年后的编程语言

    瞄准前进的目标

    最后的开车理论我深以为然,比起埋头苦干,抬头看好方向是首要的。

    现在的许多编程语言(Cobol、 Java),进化之路已到尽头。不同分支的语言会发生聚合,因为语言设计者们总是有意识地借鉴其他语言的设计思想。那些内核最小、越干净,它的生命力就越顽强。

    一百年以后也许人类已经不编程了。不论计算机是什么样子,它的运行速度一定快得多,硬件性能大幅提高。对速度的追求是人类内心深处根深蒂固的欲望。很多数据结构存在的原因都是为了提高效率。一百年后的程序员最需要的就是可以让你毫不费力地写出程序第一版的编程语言,哪怕它效率低下得惊人。

    最近出现了大量的新语言,硬件性能提高是一个原因。这就允许程序员根据使用目的在运行速度和编程便利性之间做出不同取舍。如果这就是未来趋势,那么一百年后强大的硬件只会使得语言数目变得更多。

    一百年后,常用语言可能只有很少几种。易编程和高速运行的语言这件存在巨大差距。性能分析将变得越来越重要。过去10年最激动人心的趋势之一就是开源语言的崛起,比如Perl,Python和Ruby。

    总结两个观点:

    1 理论上说,一百年后的编程语言今天就能设计出来;

    2 如果今天真能设计出这样一种语言,很可能现在就适合编程,并产生更好的结果。

    牢记这个目标。学习开车的时候,要把车开直不是通过将车身对齐画在地上的分割线,而是通过瞄准远处的某个点。即使你的目标只在几米开外,这样做也是正确的。设计编程语言时,我们也该这样做。

    12 拒绝平庸:别忘了对手和你一样

    如果想当一个黑客,就从Java和Python入手,因为它们比较容易学。想当高级一点的黑客,还应该学习C和Perl。前者用来对付Unix系统,后者用来系统管理和开发CGI脚本。最后,真正非常严肃地把黑客作为人生目标的人,应该考虑学习Lisp。

    ——埃里克·雷蒙德

    创业公司需要做一些独特的事情,否则就会面临生存问题。

    在竞争中,你的对手无法理解你的技术优势,你的胜算就增加了。

    合气道:以柔克刚、借力使力、不主动攻击。

    编程语言的发展通常比CPU的发展落后一二十年。技术的变化速度通常是很快的,但编程语言不通,与其说它是技术,还不如说是程序员的思考模式。

    创业期间,我读过大量竞争对手招聘职位。最不用担心的对手,就是那些要求应聘者具有Oracle数据经验的公司。如果是招牌C++或Java程序员的公司,也不会构成维修。如果招聘Perl或Python程序员,就稍微有点威胁了。至少这听起来像一家技术公司,并且由黑客控制。如果遇到招聘Lisp黑客的公司,就会感到如临大敌。

    13 书呆子的复仇:Lisp语言大型安利现场

    我真的好容易吃下安利,看完以后,想要赶紧学起来,先从Python开始。

    软件业有一场永不停息的战斗,书生气的开发者与官僚主义的经理之间总是发生冲突。

    在黑客圈,Perl被公认为比Java要酷得多。Python的使用者往往看不起Perl。而另一些人认为Ruby是取代Python的最佳选择。

    当你按照Java,Perl,Python,Ruby这样的顺序观察这些语言,你会发现排在越后面的语言越像Lisp。Python模仿Lisp,甚至把许多Lisp黑客认为属于设计错误的功能也一起模仿了。至于Ruby语言,如果回到1975年,你声称它是一种有着自己句法的Lisp方言,没人会反对。编程语言的发展不过刚刚赶上1958年Lisp语言的水平。

    Lisp语言为什么特别

    Lisp语言诞生时包含了9种新思想,直至今天,其中一些才刚刚在其他高级语言中出现,至今还有2种是Lisp语言独有的。按照被大众接受程度,这9种思想排列如下。

    (1)  条件结构,即if-then-else。

    (2)  函数也是一种数据类型。

    (3)  递归。

    (4)  变量的动态类型。

    (5)  垃圾回收机制。

    (6)  程序由表达式组成。

    (7)  符号类型。

    (8)  代码使用符号和常量组成的树形表达法。

    (9)  无论什么时候,整个语言都是可用的。

    (1)到(5)已经被广泛接受,(6)才开始在主流编程语言中出现,(7)在Pyhton中有所实现,不过似乎没有专用语法。(8)和(9)是由于偶然原因才成为Lisp语言的一部分的,它们意味着你可以写出一种能够自己编程的程序。

    项目经理不正是希望使用一种很容易雇到程序员的语言吗?另外,很多项目,不论选择哪一种语言都能完成。条件越苛刻的项目,强大的编程语言就越能发挥作用。

    使用不常用语言的问题

    (1)  程序无法与使用其他语言的程序协调工作;

    (2)  可能找不到很多函数库

    (3)  可能不容易雇到程序员

    总的来说,产品经理即使不关心公司是否能获得成功,他真正关心的是不承担决策失败的责任。所以对他个人来说,最安全的做法就是跟随大多数人的选择。

    “业界最佳实践”不会让你变成最佳,只会让你变得很平常。

    14 梦寐以求的编程语言:黑客的理想工具

    一心让臣民行善的暴君可能是最专制的暴君。             

      ——C.S. LEWIS 

    (1898-1963,英国小说家)

    大多数人选择某一种编程语言,不是因为这种语言有什么独特的特点么是因为听说其他人使用这种语言。

    外部因素、简洁、可编程性、一次性程序、函数库、效率、时间、再设计。

    最好的文字来自不停的修改。                                 

    ——E.B.怀特

    (著名散文家)

    优秀,需同时具备两种相互冲突的信念。一方面,要像初生牛犊一样,对自己的能力信息万丈;另一方面,要向沧桑老人一样,对自己的能力抱着怀疑态度。一个声音说“万水千山只等闲”,另一个声音说“早岁哪知世事艰”。

    15 设计与研究:“新的”与“好的”

    (略)


          不知为什么,读完最后一篇致谢有些感动,随着年龄增长人真的会多很多感触。他在致谢中感谢了很多对他有帮助的人,可以感受到作者是一个多么有趣又善于合作的人。最值得一提的感谢是,他从许多人身上学到了黑客技术,但让他学会画画的只有一个人——他的画画老师。最后,他感谢了父母——父亲教给他什么是怀疑主义,母亲给他的想象力让他的世界由黑白变为彩色。

    相关文章

      网友评论

        本文标题:读书笔记《黑客与画家:硅谷创业之父Paul Graham文集》(

        本文链接:https://www.haomeiwen.com/subject/vvlrwhtx.html