第10章(1 / 1)

加入书签 本章报错

黑客与画家强烈推荐:

它们有多严重?第一个ฐ问题๤取决于你是否控制ๆ整个系统。如果你的软件运行在客户的机器上,而客户又使用一个到เ处都是bug的专有操作系统我可没提操作系统的名字,那么使用那个操作系统的开语言可能会给你带来优势。但是,如果你控制整个系统,并且还有各个组成部分的源码正如我推测itaທ就是这种情况,那么你就能ม使用任何你想用的语言。如果出现不兼容的情况,你自己้就能动手解决。

顺ิ便说一句,我不认为面向对象编程将来会消亡。我觉得,除了某些特定的领域,这种编程方แ法其实没有为ฦ优秀程序员带来很多好处,但是它对大公司有不可抗拒的吸引力。面向对象编程使得你有办法对面条式代码进行可持续性开。通过不断地打补丁,它让你将软件一步步做大。大公司总是倾向于采用这样的方แ式开软件。我预计一百年后也๣是如此。

以永不过时作为目标是一种帮助自己找到最佳答案的方法:如果你不愿别人的答案取代你的答案,你就只好自己做出最佳答案。某些大师๲的作品太过杰出,永不过时,使得后人几乎难以在该领域立足。自从16๔世纪出现了德国雕刻๑大师丢勒durer,后世的雕刻家都因为自己的作品被拿来与他的作品作比较而苦不堪言。

财富从何而来?人类创造出来的。回到农业时代,这个概ฐ念就更容易理解。那时大多数人都务农,许多东西都需要自己้生产出来。房屋、牲畜、谷仓等都是每个家庭自己生产出来的。这就很明显地说明,财富总量不是固定不变的,不像大饼那样会被分光。如果你想要更多的财富,自己生产就可以了。

eb怀特

曾经从一个农民朋友那里听到一则趣闻。许多农场用电篱笆防止奶牛逃跑,但是不少电篱笆其实并没有通电。不过奶牛们已๐经吃过苦头,显然学会了不去碰电篱笆,这时不通电也๣能起到效果。“奶牛们,行动吧!”他写道,“趁着统治者打鼾时,夺回你们的自由!”

互联网软件带来的最大变化之ใ一,就是软件布方式的改变。对于桌面软件来说,布新版本是一个很痛苦的过程,整个公司不得不使尽全力,满头大汗地挤出一大块巨型代码。从过程和结果上来看,无异于一次分娩。

那些团体神经越紧张,它们所产生的禁止力量就越大。伽利略因为宣传日心说而遭到教廷的审判ศ,这件事讽刺的地方แ在于,他只是在宣传哥白尼的观点,而后者却安然无恙。事实上,哥白尼不仅不反对教廷,还是一个ฐ虔诚的天主ว教教士,他把自己的着作献给教皇。不幸的是,伽利略๓正赶上教廷内部ຖ反对派上台,宗教改革被压制,任何非正统的思想遭受到前所未有的严å厉控制和禁止。

当然,“做什么”和“怎么เ做”不应该分得太开。如果你决定做一件事,却不知道怎么做,你就是在自找麻烦。但是,只是单纯地决定如何实现某种规格,那肯定不是黑客。黑客的最高境界是创造规格。虽然看起来,做到这一点的最好方แ法就是先做出一个ฐ样品把规格实现了。

每个人日常生活的很大一部分都花在与计算机打交道上面。家用电å表是智能ม的,通信网络是程控的,信用卡是联网的,就连点菜都会用到电å子菜单。越来越多的迹象表明,未来的人类生活不仅是人与人的互动,而且更多的将是人与计算机的互动。

‘“弱即是强"指的是一种软件传播的模式,由摸nlisp专家理查德·加布里埃尔richardpgaiel于1991年在lisp:goodne9๗s,ไbadne9๗s,ho9to9in逼gdreaທmsongs9ibຘhtml一文中先提出。它的含义แ非常广泛,涉及软件设计思想的各个ฐ方面,其中的一个ฐ重要结论就是软件功能的增加并不必然带来质量的提高。有时候,更少的功能ม“弱”反而是更好的选择“强”,因为这会使得软件的可用性提高。相比那些体积庞大、功能全面、较难上手的软件,一种功能有限但易于使用的软件可能对用户有更大的吸引力。加布里埃尔本人经常举ะunix和9ix和c在设计上考虑了实际环境,放弃了一些功能,但是保证了简单性,这使得它们最终在竞争中胜出,成为主流操作系统和编程语言。——译者注’

与之对照,还有另一种软件设计思想,也๣许可以被称为“万福玛丽亚”模式。它不要求尽快拿出原型,然后再逐步优化,它的观点是你应该等到完整的成品出来以后再一下子隆重地推向市๦场,就像圣母玛丽ษ亚降临一样,哪怕整个过程漫长得像橄揽球运动员长途奔袭、达阵得分也没有关系。在互联网泡沫时期,无຀数创业公司因为ฦ相信了这种模式而自毁前程。我还没听说过有人采用这种模式而获得成功。

软件领ๆ域以外的人可能没听过“弱即是强”,所以意识不到这种模式在艺术领域普遍存在。以绘画ฑ为例,文艺复兴时期就有人现了这一点。如今,几乎所有的美术老师都会告诉你准确画出一个事物的方法,不是沿着轮廓慢慢一个部分、一个部ຖ分地把它画出来,因为这样的话各个部分的错误会累积起来,最终导致整幅画失真。你真正应该采用的方法是快地用几根线画出一个大致准确的轮廓,然后再逐步地加工草稿。

在大多数艺术领域,原型使用的材料与成品的材料é一般来说是不一样的。印刷็活字先画ฑ在纸上,然后才做成铅字。雕塑先用石蜡创作,然后才用青铜浇铸。地毯图案先用墨水画出纸型,然后才织成地毯。建筑物先做出木模型,然后才做成石头建筑。

为什么15世纪油画次亮相会引起轰动并很快流行起来?原因就是油彩使得画家可以在原型上直接画出最后的样子。你可以按照自己的想法画ฑ出初稿,但是它并不对你构成限制ๆ。接下来你可以逐步加上细节,甚至对初ม稿做出重大修改,直到最后完成。

软件开也可以这样做。原型prototype并不只是模型摸del,不等于将来一定要另起炉灶,你完全能够在原型的基础上直接做出最后的成品。我认为,只要有可能,你就应该这样做。这样的方แ式使得你可以利用在开过程中一路产生的新想法。不过更重要的是,这样做有助于鼓舞士气。

士气是设计的关键因素。令我吃惊的是,大家很少提到这一点。我的一位美术启蒙老师告诉我:如果你觉得画某样东西很乏味,那么เ你画出来的东西就会真的很乏็味。比如,假设你必须画一幢建筑物,你决定从每一块砖头开始画起。你觉得自己可以坚持下去,但是画到一半的时候突然感到เ很厌倦,于是你就不再认真观察每块砖头并画出它们各自不同的特点,而是以一种机械重复的方แ式草草地把砖头画完了事。这样一来,你的作品效果就很差,甚至还不如一开始就不采用写实手法,只是若隐若现地暗示砖头的存在。

先做出原型,再逐步加工ื做出成品,这种方式有利于鼓舞士气,因为它使得你随时都可以看到เ工作的成效。开软件的时候,我有一条规则:任何时候,代码都必须ี能够运行。如果你正在写的代码一个小时之后就可以看到运行结果,这好比让你看到不远处就是唾手可得的奖励,你因此会受到เ激励和鼓舞。其他艺术领ๆ域也๣是如此,尤其是油画ฑ。大多数画家都是先画一个ฐ草图,然后再逐步加工。如果你采用这种方式,那么从理论上说,你每天收工的时候都可以看到整体的效果,不会对最后的成品一点感觉都没有。跟你说实话吧,画ฑ家之间甚至流传着一句谚语:“画作永远没有完工的一天,你只是不再画ฑ下去而已๐。”这种情况对于第一线的程序员真是再熟悉不过了。

士气也可以解释为ฦ什么很难为ฦ低端用户设计出优秀产品。因为ฦ优秀设计的前提是你自己必须喜欢这种产品,否则你不可能对设计有兴趣,更不要说士气高昂了。为了把产品设计好,你必须对自己้说:“哇,这个产品太棒了,我一定要设计好!”而不是心想:“这种垃圾玩意,只有傻瓜才会喜欢,随便设计一下就行了。”

设计意味着做出符合人类特点和需要的产品。但是,“人类”不仅包括用户,还包括设计师,所以设计工作本身也必须ี符合设计师的特点和需要。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━⌒

↑返回顶部↑

书页/目录

黑客与画家