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