时尚双语:愤怒、汇报、重启,接受崩溃
日期:2008-03-31 14:40

(单词翻译:单击)

The error-reporting service built into the Windows operating system is a massive global network for speaking truth to power. Be you a lowly clerk of accounts or a mighty captain of industry, when a Windows program crashes, you'll see a pop-up with an offer to 'tell Microsoft about this problem.'

Windows操作系统自带的错误报告机制 成了一个庞大的全球性实情汇报 络。不管你是名不见经传的会计师还是呼风唤雨的行业泰斗,每当一个Windows程序无法正常运行时,电脑都会一视同仁地蹦出一条提示:请向微软(Microsoft)汇报此错误。

Enough people around the world choose to do so that on the busiest days, 50 gigabytes of data from these error reports stream into Microsoft. Two dozen programmers are charged with monitoring them. The stories they tell of good computer programs going bad are full of the stuff of opera: pride and sloth, with lots of chaos theory and complexity thrown in.

全世界有不少用户选择了把问题汇报给微软,于是最繁忙的时候会有多达50G的错误报告数 从世界各个角落流向微软。微软有二三十名程序员专门负责处理这些信息。这些数 反映出的程序毛病真是无奇不有,充满戏剧色彩:傲慢和怠惰中掺杂着混沌理论和 杂化。

Errors come in two sorts. Kernel errors happen in the inner sanctum of the operating system, which lets in only essential programs -- drivers and the like -- and then gives them free rein. But if, say, a printer driver suddenly erases the kernel code needed to access the disk drive, the operating system will have part of its brain cut out. The result is the 'blue screen of death' in Windows and Mac, or a 'panic' in Unix.

这些错误主要有两类。核心错误发生在操作系统内部,这些部分只允许像驱动程序这样的关键程序访问,并给予这些程序运作的自由。但是,比如一个打印机驱动程序突然把接磁盘驱动所需的核心代码删除掉,操作系统就会出现部分停顿。结果,Windows和Mac电脑会出现显示死机的蓝屏,Unix电脑则会表现为黑屏。

The applications we use don't have the same all-access backstage passes as kernel programs. When they crash, the system itself usually stays up. Microsoft lists a dozen reasons for application crashes; my favorite is the absence of 'defensive programming.' Coders, just like freeway drivers, shouldn't assume other people are doing their jobs correctly. If you ask for two bytes of data, count the bytes when they're handed back.

我们平常使用的应用程序不像核心程序那样能自由进入电脑的深层。当这些应用程序崩溃时,操作系统本身一般还是运作正常的。微软罗列了十多个应用程序崩溃的可能原因,我最认同的一项是缺乏“防御性编程”,程序编写员就像是高速公路上的驾驶员,他们不能想当然地认为其他人都能把自己的工作做好。如果你要求得到两个字节的数 ,那么当它们被交回来的时候就要数一数字节数。

Microsoft folks like Trevor Kurtz, who heads one of the error-checking teams, are proud of their work: how scrupulous they are about respecting user privacy; how freely they share the aggregated data with outside software developers.

正如负责一个错误核查小组的特雷福•库尔茨(Trevor Kurtz)那样,微软人为自己的工作感到骄傲:他们小心翼翼地保护用户的隐私信息,但同时又随意地把收集到的数 跟外部的软件开发商共享。

Some things they won't tell you, though: which programs from Microsoft or others crash the most; who is at fault, Windows or the program.

有些事情他们是不会告诉你的:微软的哪个软件或哪个公司设计的软件最容易崩溃;问题到底出在谁身上,是Windows还是那个应用程序。

The Microsoft nominations from my household include Internet Explorer, which regularly stalls, and Windows Explorer, which on full drives can't properly execute the keyboard shortcut for opening all folders and subfolders.

从我在家使用电脑的情况看,经常出问题的微软程序包括IE浏览器和Windows资源管理器,前者间或变得缓慢迟钝,而后者在机器同时执行好几项任务时没办法正常按照用键盘快捷键输入的指令打开所有的文件夹和次级文件夹。

It's far from all bad, though. Word and Excel seem like Gibraltar, and months now go by in-between blue screens.

但这远不是最糟糕的。Word和Excel似乎冥顽不灵,几个月以来一直不停地出现蓝屏。

The experience of dealing with a software bug can involve an emotional journey that starts with helpless blind rage and ends with, if not a Kubler-Ross style of acceptance, then at least a little empathy.

面对程序崩溃,我们往往要经历一个情绪变化的过程,先是束手无策的暴怒,最后,即使不是库伯勒-罗斯模型中(Kubler-Ross)的无奈接受,至少也表示出一点理解。

Adobe allowed me to better understand bug-ology by helping me with problems with Premiere Pro, an amazingly powerful piece of video-editing software that, alas, seems to crash more than I had anticipated. One particular crash, involved with making screen titles, seemed especially crude, and Adobe thought it might involve a video driver.

Adobe 公司曾帮助我解决Premiere Pro的问题,这使我对程序崩溃这门学问有了进一步的了解。Premiere Pro是个功能超乎想象的视频编辑软件,然而它崩溃的次数也超乎我的预料。其中一次崩溃是在制作屏幕标题的时候,这个毛病好像尤其顽固。Adobe公司猜测它可能跟视频驱动有关。

It didn't. The next step was the lengthy process of turning parts of the system off and on to see what made a difference. It's the computer equivalent of taking endless allergy tests to see what's making you sneeze.

然而却不是。接下来一个漫长的过程开始了,他们把系统的各个部分逐一打开、关闭,看看前后有何区别。这情形就好像你打了个喷嚏,却要无休止地做过敏测试以便 定原因,只不过这个测试现在拿到了电脑上而已。

I declined. Frequent saving of my project was easier.

我拒绝做测试。我情愿多花时间在电脑上保存工作成果,也比这样省事一点。

Adobe support engineer Mitch Wood told me about a bit of Premiere Pro sleuthing he had just finished, with a user who couldn't import video. It took many hours to figure out that a piece of software from a small company had mislabeled one of its tiny graphics routines. That slip-up cascaded throughout Windows and ended up keeping Premiere Pro from doing its job. That sort of complexity is part of what makes the personal computer so exciting. But, as the story shows, it's also one of the main causes of all the errors that drive users nuts. There is just so much that can go wrong.

Adobe 的技术工程师米奇•伍德(Mitch Wood)向我透露了一点他刚完成的一个Premiere Pro错误追踪情况,该Premiere Pro用户的问题是没办法导入视频。伍德花了很多时间最后才发现原来是某小公司生产的软件错误标示了一个很小的日常图片操作。这个小错误渐渐波及整个 Windows,最后导致Premiere Pro瘫痪。这种复杂性正是个人电脑如此激动人心的部分原因,而同时正如这个例子所反映的那样,这也是那些能让用户气得发狂的主要错误之一。能出毛病的地方太多了。

Why, then, do so many software companies make it even worse with their Napoleonic software? (That's my phrase for half-pint programs that crown themselves emperor by insisting pridefully that they launch when Windows launches, or by sticking a miniversion of themselves in memory at all times.)

那么,为什么说如此多“拿破轮一世式”的软件使得这种情况更加糟糕呢?(我常常用拿破轮一世式这个词语来形容那些自视过高的小不点软件,这些软件的开发商要么坚持在Windows启动时他们的软件也同时启动,要么总是在内存里留下一点他们自己的影子)。

The latter is supposed to speed their own start-up, but in addition to adding to the system's complexity and thus its tendency to crash, these programs play a cynical zero-sum game. The time saved launching the program must, of necessity, be transferred instead to Windows boot time, which we all know doesn't need to get any longer.

他们的后一种做法旨在加快其自己程序的启动速度,不过除了让系统更 杂、更容易死机之外,这些程序正在玩一个愤世嫉俗的零和游戏。启动程序节省的时间必然会转加到Windows的启动时间上,而我们也知道Windows的启动时间是不能再长的了。

Companies sometimes do this to be able to push out program updates every few weeks. Had Dante used a computer, he surely would have created a special circle of hell for programs that gratuitously update.

有时,这些公司这样做是为了能每隔几周就能将其程序升级一次。如果但丁也用电脑的话,他一定会为这些无理的升级设想出一个特别的地狱。

Worse, these often also make you reboot. Windows, properly done, rarely needs rebooting, but because of slothful updates, they can be a daily curse. In an update, all the old versions must be shut down. Programmers can write some code to do that, or they can have users do it for them by taking five minutes out of their busy lives to reboot.

更糟糕的是,这些程序也经常迫使你重启电脑。Windows在正常使用的情况下很少需要重新启动,不过由于这些缓慢的升级在作祟,你可能每天都要遭受重启电脑的煎熬。程序升级的时候,所有旧版本都必须关掉。程序员可以自己编写代码来实现这一点,或者让用户帮他们一把──在繁忙的生活中抽出五分钟来重新启动一下电脑。

Mahadev Satyanarayanan, who teaches computers at Carnegie Mellon, says it's impossible for software to be defect-free. Still, he thinks Microsoft folks would be better off if, in open-source fashion, they let others see under the hood. A million eyes beat two dozen any time.

卡内基梅隆大学的电脑教师马哈德夫•萨特亚那拉亚南(Mahadev Satyanarayanan)认为,软件是不可能完美无缺的。不过他还是觉得,如果微软能公开源代码,让别人看清楚程序背后的玄机,微软人的日子可能会好过些。毕竟一百万双眼睛总比二十多双眼睛要强。

分享到
重点单词
  • assumevt. 假定,设想,承担; (想当然的)认为
  • allergyn. 过敏症,反感,厌恶
  • tendencyn. 趋势,倾向
  • helplessadj. 无助的,无依靠的
  • lengthyadj. 冗长的,漫长的
  • faultn. 缺点,过失,故障,毛病,过错,[地]断层 vt.
  • networkn. 网络,网状物,网状系统 vt. (以网络)覆
  • minutesn. 会议记录,(复数)分钟
  • kerneln. 核心,中心,精髓 [计算机] 核心
  • beatv. 打败,战胜,打,敲打,跳动 n. 敲打,拍子,心跳