美文网首页程序员
《黑客与画家》读书笔记(一)

《黑客与画家》读书笔记(一)

作者: 陈浩要安静 | 来源:发表于2016-05-05 10:46 被阅读0次

    保罗·格雷厄姆其人其事

    保罗·格雷厄姆有一套完整的创业哲学,他的创业公式是:

    1. 搭建原型
    2. 上线运营(别管bug)
    3. 收集反馈
    4. 调整产品
    5. 成长壮大

    “创始人本身比他的创意更加重要。”

    创始成员总数最好不要超过三个人

    评论:看样子今天很多创业公司还要学习一个啊。尤其是创始人重要性这个问题上,人们常常觉得自己有一个创意,要是实现出来就能改变世界了,就缺一个程序员了。事实是,这是中二病得治啊!更常见的情况是,你不是需要一个iphone的创意来改变世界,而是需要一个乔布斯来改变世界。

    译者序

    黑客的价值观——“黑客伦理”

    1. 使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制,任何事情都应该亲手尝试
    2. 信息应该全部免费
    3. 不信任权威,提倡去中心化
    4. 判断一名黑客的水平应该看他的技术能力,而不是看他的年龄或地位等其他标准
    5. 你可以用计算机创造美和艺术
    6. 计算机使得生活更美好

    评论:我喜欢这六条黑客伦理,尤其喜欢第五条,我可以用计算机创造美和艺术,因为我喜欢计算机图形学。而且虚拟的现实确实更有助于我们了解这个现实,如同黑客帝国所揭示的那样,技术发展到哲学的高度,可能问题根本不在于我们这个世界的本质真相是什么,而是我们有哪些选择的可能性。

    前言

    根据使用的语言不通,程序员往往会被分成不同的派别。人们区分程序员甚至不是看他们写了什么程序,而是看他们使用了什么语言。所以,声称一种语言优于另一种语言被认为是不礼貌的行为。但是,没有一个编程语言的设计者会相信“不同语言各有千秋”这种文绉绉的客套话。

    评论:程序员的鄙视链

    懂 Functional Programming 的工程师鄙视老是把设计模式挂在嘴边的工程师
    ,老是把设计模式挂在嘴边的工程师鄙视会说「你这样写就不 OO 了啊」的工程
    师,会说「你这样写就不 OO 了啊」的工程师鄙视会说「哈?什么物件导向?
    不是把重复的 code 写成一个 function 就好了吗?」的工程师,会说「哈?什么
    物件导向?不是把重复的 code 写成一个 function 就好了吗?」的工程师鄙视把
    同一段 code 到处复制贴上的工程师,把同一段 code 到处复制贴上的工程师鄙视 PM。
    
    写静态语言的工程师鄙视写动态语言的工程师。
    
    写组合语言的工程师鄙视写 C 语言的工程师,C 语言工程师鄙视 C++ 工程师,
    C++ 工程师鄙视 Java 和 C# 工程师,Java 工程师和 C# 工程师则互相鄙视,
    而 C# 工程师又鄙视 Visual Basic 工程师和会把 C# 念成「C 井」的工程师,
    会把 C# 念成「C 井」的工程师则鄙视认为 HTML 是一种程序语言的设计师。
    
    用 Python 3 的工程师鄙视还在用 Python 2 的工程师,用 Python 2 的工程师
    鄙视遇到 UnicodeEncodeError 的工程师。
    
    写 iOS 的工程师鄙视写 Android 的工程师,写 Android 的工程师鄙视
    写 Windows Phone 的工程师。
    
    有 Swift 一年经验的工程师鄙视有 Objective-C 五年经验的工程师,写
     Objective-C 的工程师鄙视用 PhoneGap 包装成 native app 的工程师。
    
    用 React.js 的工程师鄙视用 AngularJS 的工程师,用 AngularJS 的工程师
    鄙视用 jQuery 的工程师,用 jQuery 的工程师鄙视用 Vanilla JavaScript 的工
    程师,用 Vanilla JavaScript 的工程师鄙视 IE 的使用者。
    
    会用 debugger 的工程师鄙视用 assert 的工程师,用 assert 的工程师鄙视只
    会 print () 的工程师;用 console.log () 来 debug 的工程师鄙视用 alert () 来
     debug 的工程师。
    
    写 Ruby on Rails 的工程师鄙视所有使用其他语言的工程师。
    
    什么?你说 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什么程序语言呢!
    
    所有的工程师都鄙视 PHP 工程师。
    

    第一章 书呆子为什么不受欢迎:他们的心思在别的地方

    我后来认识很多人,读书的时候都被称为“书呆子”。从他们身上我发现,“书呆子”与“高智商”有强烈的正相关关系。而这些人在中学里都是不受欢迎的学生,你越喜欢读书,就越不受别人的欢迎,因此“书呆子”和“受欢迎”之间,有一种强烈的负相关关系。这样看来,“高智商”似乎导致了你不受欢迎。

    ...“受欢迎”需要付出巨大的努力,而书呆子没有意识到这一点...书呆子不受欢迎真正的原因,是他们脑子里想着别的事情。他们的注意力都放在读书或者观察世界上面,而不是放在穿衣打扮、开晚会上面。

    评论:这一篇文章可以算是生活大爆炸的推荐序了。也许当前的情况正在改变,就好像谢耳朵受大家喜欢,或者卷福说的那句"Smart is the new sexy",但是现实世界仍然而且会继续是,我们需要巨大的努力来维持自己的社交关系,尤其是在中国这个注重所谓“关系”的社会中。我不知道聚餐时要喝酒到吐、为了表现自己进行毫无意义的加班、讨好上司、参加好久都不联系的同学婚礼对于一个技术人员的生命有何意义。如同文章中提到,“任何一种艺术,不管是否重要,如果你想要再改领域出类拔萃,就必须全身心投入”。好消息是,对于想成为黑客的人来说,社交中受不受欢迎就成为了一个可以抛弃的选择。下次过年回家七大姑八大姨再过来对你的生活指手画脚,迫不及待的给你传授他们那些陈旧的人生经验,热情满满的给你规划结婚买房生娃,你就可以鼓起勇气更他们说一句,"FUCK OFF"!

    第二章 黑客与画家:黑客也是创造者,与画家、建筑师、作家一样

    读研究生期间,我潜意识里一直有一种很不舒服的感觉,觉得自己应该多学一点理论,不应该期末考试结束还不到三个星期,就把所有东西忘得一干二净,那样真是不可饶恕

    现在,我意识到自己错了。黑客搞懂“计算理论”的必要性,与画家搞懂颜料化学成分的必要性差不多大。一般来说,在理论上,你需要知道如何计算时间复杂度和空间复杂度;如果你要写一个解析器,可能还需要知道状态机的概念。除此之外,并不需要知道特别多的理论。这些可比画家必须记住的颜料成分少很多。

    评论:Graham的这篇文章有些颠覆一般对于程序员的看法,也就是冰冷的、严谨的、不善谈吐做事合理有序的一类人。从机器的角度来说,写程序确实是这样一个过程,冰冷的编辑器,严格的执行顺序,乃至消灭程序里面所有Go To。然而我相信Graham的观点是对的,对于真正喜欢编程的人来说,乐趣在于创造。相对于写一个办公管理系统,统计公司里面每天上下班打卡情况和工资发放,我更想去写一个游戏;而游戏,就是我们这个时代的艺术。

    黑客如何才能做自己喜欢的事情?我认为这个问题的解决方法是一个几乎所有创作者都知道的方法:找一份养家糊口的“白天工作”。这个词是从音乐家身上来的,他们晚上表演音乐,所以白天可以找一份其他工作。更一般的说,“白天工作”的意思是,你有一份为了赚钱的工作,还有一份为了爱好的工作。

    黑客就像画家,工作起来是有心理周期的。有时候,你有了一个令人兴奋的新项目,你会愿意为它一天工作16个小时。等过了这一阵,你又会觉得百无聊赖,对所有事情都提不起兴趣。

    评论:做一个程序员有众多的乐趣,其中的乐趣之一,就是它可以既是兴趣,又是工作。你不用白天去修管道然后把有灵感的诗句写在自己的小本子上,或者晚上才能表演音乐。即使是为了糊口的枯燥白天工作,至少也是写程序,虽然可能是产品经理修修补补脑洞出来的破烂玩意儿。心理周期这一段简直是神来之笔,我想每一个热爱写程序或者创作的人都会引起共鸣。

    相关文章

      网友评论

        本文标题:《黑客与画家》读书笔记(一)

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