當前位置

首頁 > 英語閱讀 > 雙語新聞 > 時尚雙語:憤怒、彙報、重啓,接受崩潰

時尚雙語:憤怒、彙報、重啓,接受崩潰

推薦人: 來源: 閱讀: 1.28W 次

時尚雙語:憤怒、彙報、重啓,接受崩潰

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)認爲,軟件是不可能完美無缺的。不過他還是覺得,如果微軟能公開源代碼,讓別人看清楚程序背後的玄機,微軟人的日子可能會好過些。畢竟一百萬雙眼睛總比二十多雙眼睛要強。