码农:世界上现存最大的手工艺人群体?.docx
《码农:世界上现存最大的手工艺人群体?.docx》由会员分享,可在线阅读,更多相关《码农:世界上现存最大的手工艺人群体?.docx(12页珍藏版)》请在第一文库网上搜索。
1、读完计算机系的研究生课程,我就去了艺术学校,学习绘画。许多人很吃惊:一个喜欢计算机的人,居然还喜欢画画!他们似乎觉得,摆弄计算机和画画是两件截然不同的事情一一计算机是冰冷的、精确的、井然有序的,而画画是某种原始欲望热烈狂放的表达方式。这种看法是错的。计算机和画画有许多共同之处。事实上,在我知道的所有行业中,黑客与画家最相像。黑客与画家的共同之处,在于他们都是创作者。与作曲家、建筑师和作家一样,黑客和画家都试图创作出优秀的作品。他们本质上都不是在做研究,虽然在创作过程中,他们可能会发现一些新技术(那样当然更好)。我发现,黑客新想法的最佳来源,并非那些名字里有“计算机”三个字的理论领域,而是其他创
2、作领域。与其到“计算理论”领域寻找创意,你还不如在绘画中寻找创意。举例来说,我在大学受到的教育是,在上机编程之前,应该先在纸上把程序搞清楚。可我自己一直不是这样编程的,我喜欢直接坐在计算机前编程,而不是在纸上编程。更糟的是,我不是耐心地一步步写出整个程序,确保大体上是正确的,而是一股脑地不管对错,先把代码堆上去,再慢慢修改。书上说,调试是最后的步骤,用来纠正打字错误和疏忽。可是我的工作方法看上去却像编程就是在调试。很长一段时间内我都为此事沮丧,就像小学里老师教我怎么拿铅笔,我却总是学不会的那种感觉。如果我那时看到其他创作领域,比如绘画或者建筑,我就会想到,自己的方法其实有一个正式的名称:打草稿
3、。我现在认为,大学里教给我的编程方法都是错的。你把整个程序想清楚的时间点,应该是在编写代码时,而不是在编写代码之前,这与作家、画家和建筑师的做法完全一样。明白这一点对软件设计有重大影响。它意味着,编程语言首要的特性应该是允许动态扩展。编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。它应该是一支铅笔,而不是一支钢笔。如果大家都像学校教的那样编程,那么静态类型是一个不错的概念。但是,我认识的黑客,没有一个人喜欢用静态类型语言编程。我们需要的是一种可以随意涂抹、擦擦改改的语言,我们不想正襟危坐,把一个盛满各种变量类型的茶杯,小心翼翼放在自己的膝盖上,为了与一丝不苟的编译器大婶交谈,努力
4、地挑选词语,确保变量类型匹配,好让自己显得礼貌又周到。创作者不同于科学家,明白这一点有很多好处。除了不用为静态类型烦恼以外,还可以免去另一个折磨科学家的难题,那就是“对数学家的妒忌”。科学界的每一个人,暗地里都相信数学家比自己聪明。我觉得,数学家自己也相信这一点。最后的结果就是科学家往往会把自己的工作尽可能弄得看上去像数学。对于物理学这样的领域,这可能不会有太大不良影响。但是,你越往自然科学的方向发展,它就越成为一个严重的问题。一页写满了数学公式的纸真是令人印象深刻啊。(小窍门:用希腊字母表示变量名会令人印象更深刻。)因此,你就受到巨大的诱惑,去解决那些能够用数学公式处理的问题,而不是去解决真
5、正重要的问题。如果黑客认识到自己与其他创作者一一比如作家和画家一一是类人,这种诱惑对他就不起作用。作家和画家没有“对数学家的妒忌”,他们认为自己在从事与数学完全不相关的事情。我认为,黑客也是如此。保罗格雷厄姆(PaUIGraham),美国知名程序员、1iSP专家,风险投资家、作家。首个互联网应用程序Viaweb的发明人之一,该程序后被雅虎以5000万美元收购,成了大名鼎鼎的YahOO!Store。2005年创办了YCombinator,成功孵化数千个初创项目和近万名创始人,总估值近万亿美元。著有黑客与画家。黑客如何才能做自己喜欢的事情?我认为这个问题的解决方法是一个几乎所有创作者都知道的方法:
6、找一份养家糊口的“白天工作”(dayjob)o这个词是从音乐家身上来的,他们晚上表演音乐,所以白天可以找一份其他工作。更一般地说,“白天工作”的意思是,你有一份为了赚钱的工作,还有一份为了爱好的工作。几乎所有的创作者在职业生涯的早期都有一份“白天工作”。画家和作家尤其显著。如果幸运的话,你能找到一份与你的“真正工作”非常相关的“白天工作”。音乐家似乎常常是在唱片行工作。同样,钻研某种编程语言或操作系统的黑客,很可能会得到一份使用这些工具的“白天工作”。我说黑客解决生计问题的方法是找一份“白天工作”,然后在其余时间开发优美的软件,不过我并没有说这是一个新方法。开源软件界的黑客早就这样做了。我想说
7、的其实是,开源软件的这种工作模式可能就是正确的模式,因为它已经被其他领域的创作者验证过了。令我惊讶的是,雇主都很犹豫,不愿意手下的黑客为开源软件项目工作。但是,在ViaWeb,要是你不愿意这样干,我们会很犹豫要不要雇用你。我们在面试程序员时,主要关注的事情就是业余时间他们写了什么软件,因为如果你不爱一件事,你不可能把它做得真正优秀,耍是你很热爱编程,你就不可避免地会开发你自己的项目。因为黑客更像创作者,而不是科学家,所以要了解黑客,不应该在科学家身上寻找启示,而是应该观察其他类型的创作者。那么,从画家身上,我们还能借鉴到什么对黑客的启示呢?有一件事情是可以借鉴的(至少可以确认),那就是应该如何
8、学习编程。画家学习绘画的方法主要是动手去画,黑客学习编程的方法也理应如此。大多数黑客不是通过大学课程学会编程的,而是从实践中学习,有的13岁时就自己动手写程序了。即使上了大学,黑客学习编程依然主要通过自己写程序。画家的作品都会保留下来,你观察这些作品,就能看出他们是怎么一步步通过实践学习绘画的。如果你把一个画家的作品按照时间顺序排列,就会发现每幅画所用的技巧,都是建立在上一幅作品学到的东西之上。某幅作品如果有特别出色之处,你往往能够在更早的作品中发现一个小规模的初期版本。我想大多数创作者是这样学习和工作的,作家和建筑师似乎都是如此。也许对于黑客来说,采取像画家这样的做法很有好处:应该定期地从头
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 码农 世界上 现存 最大 手工 艺人 群体