第10章

它们有多严重?第一个ฐ问题取决于你是否控制ๆ整个ฐ系统。如果你的软件运行在客户的机器上,而客户又使用一个到处都是bug的专有操作系统我可没提操作系统的名字,那么เ使用那ว个ฐ操作系统的开语言可能会给你带来优势。但是,如果你控制整个系统,并且还有各个组成部ຖ分的源码正如我推测itaທ就是这种情况,那么你就能使用任何你想用的语言。如果出现不兼容的情况,你自己就能ม动手解决。

至于第二个问题,函数库的重要性也取决于你的应用程序。对于那ว些条件不苛刻的应用,有没有一个好的函数库比语言本身的能力更重要。那么เ到底应该怎么选择语言?是根据函数库,还是根据语言本身的能力?很难确切地找出一条清楚的规则,但是无຀论哪种情况,你都必须ี考虑到你开的应用程序的特点。如果你是一家软件公司,你开的程序打算拿到市场上销售,那ว么เ这个程序可能会耗费好几个优秀程序员至少6个月的时间。为ฦ一个这样规模的项目选择编程语言,语言本身要有强大的编程能力可能ม就是最重要的考虑因素า,比是否有方便的函数库更重要。第三个问题是你的经理担忧雇不到เ程序员,我认为这根本就是混淆视听。说实话,你究竟想雇用多少个ฐ黑客?到目前๩为止,大家公认少于1้0个ฐ人的团队最适合开软件。雇用这样规模的开团队,只要使用的不是无人知道的语言,应该都不会遇到เ很大麻烦。如果你无法找到เ10个lisp黑客,那么你可能选错了创立软件公司的城市。

以永不过时作为目标是一种帮助自己้找到最佳答案的方法:如果你不愿别ี人的答案取代你的答案,你就只好自己做出最佳答案。某些大师的作品太过杰出,永不过时,使得后人几乎难以在该领域立足。自从16๔世纪出现了德国雕刻๑大师丢勒durer,后世的雕刻家都因为自己้的作品被拿来与他的作品作比较而苦不堪言。

说来奇怪,如果你希望自己้的作品对未来的人们有吸引力,方法之ใ一就是让你的作品对上几代人有吸引力。我们很难猜想未来是什么样子,但是可以肯定,未来的人们不会在乎今天流行的风潮,这一点与上几代人是相同的。所以,如果你的作品对今天的人们以及15๓00่年的人都有吸引力,那ว么它极有可能也会吸引250่0่年的人。

eb怀特

曾经从一个农民朋友那ว里听到一则趣闻。许多农场用电å篱笆防止奶牛逃跑,但是不少电篱笆其实并没有通电。不过奶牛们已经吃过苦头,显然学会了不去碰电篱笆,这时不通电也๣能起到效果。“奶牛们,行动吧!”他写道,“趁着统治者打鼾时,夺回你们的自由!”

如果你是一个黑客,并且想自己创业,可能ม会有两件事情令你望而却步,不敢真正开始采取行动。一件是你不懂ฦ得管理企业,另一件是你害怕竞争。可是实际上,这两件事都是没有通电的电篱笆。

那ว些团体神๰经越紧张,它们所产生的禁止力量就越大。伽利略๓因为宣传日心说而遭到เ教廷的审判,这件事讽刺的地方แ在于,他只是在宣传哥白尼的观点,而后者却安然无恙。事实上,哥白尼不仅不反对教廷,还是一个虔诚的天主教教士,他把自己的着作献给教皇。不幸的是,伽利略正赶上教廷内部ຖ反对派上台,宗教改革被压制,任何非正统的思想遭受到前๩所未有的严厉控制和禁止。

我猜想,道德禁忌的最大制造者是那些权力斗ç争中略占上风的一方。你会现,这一方แ有实力推行禁忌,同时又软弱到需要禁忌保护自己的利益。

每个人日常生活的很大一部分都花在与计算机打交道上面。家用电å表是智能的,通信网络是程控的,信用卡是联网的,就连点菜都会用到电子菜单。越来越多的迹象表明,未来的人类生活不仅是人与人的互动,而且更多的将是人与计算机的互动。

我们的时代是程序员主ว导的时代,而伟大的程序员就是黑客。

‘“弱即是强"指的是一种软件传播的模式,由摸nlisp专家理查德·加布里埃尔ricນhardpgaiel于199๗1年在lisp:goodne9s,baທdne9s,ho9to9in逼gdreamsongs9ibhtml一文中先提出。它的含义非常广泛,涉及软件设计思想的各个方面,其中的一个重要结论就是软件功能的增加并不必然带来质量的提高。有时候,更少的功能ม“弱”反而是更好的选择“强”,因为这会使得软件的可用性提高。相比那些体积庞大、功能全面、较难上手的软件,一种功能有限但易于使用的软件可能对用户有更大的吸引力。加布里埃尔本人经常举ะunix和9ix和c在设计上考虑了实际环境,放弃了一些功能,但是保证了简单性,这使得它们最终在竞争中胜出,成为主ว流操作系统和编程语言。——译者注’

与之对照,还有另一种软件设计思想,也๣许可以被称为“万福玛丽亚”模式。它不要求尽快拿出原型,然后再逐步优化,它的观点是你应该等到完整的成品出来以后再一下子隆重地推向市场,就像圣母玛丽亚降临一样,哪怕整个过程漫长得像橄揽球运动员长途奔袭、达阵得分也没有关系。在互联网泡沫时期,无຀数创业公司因为相信了这种模式而自毁前程。我还没听说过有人采用这种模式而获得成功。