今天,微軟終於宣布,下一版Windows叫10,明年上市。
為何不叫9,一下跳了過去?
微軟沒有告訴你。
因此市麵出現一堆猜測:
-- 此舉為與失敗的Windows 8劃清界限,讓消費者感覺與Windows 8沒多大關係。其實,關係大的去了。
-- 微軟曆史上共有10個版本的Windows,取名Windows 10,是為紀念這一曆史時刻。如此說,那應該叫第11才更符合。
-- 微軟希望加快Windows版本發布速度,以此推動Windows最終免費。微軟印尼高管Andreas Diantoro稍早前曾說:下一代Windows對Windows8用戶免費。
其實,微軟很無奈,是被逼的。倒不是說有人注冊了WINDOWS9, 獅子大開口。而是一個小小的技術問題,但在市麵很普遍。微軟不得不避開它。
原因就是:市麵上很多程序裏的判定句,在前置條件裏已經用了“Windows 9*”這個短語,會跟Windows95、Windows98發生條件衝突,使程序的判斷/執行語句出現異議。
學過詞法掃描的都知道,這是不能一步解決的,隻能再掃下一個字節,才能斷定是什麽。若是空,那就是win9, 若是5,那就是win95,若是8,那就是win98。為此,好多市麵的程序,都得重寫。尤其對驅動程序需要經常版本更新(UPgrade)的廠家和用戶,這可是不小的麻煩。目前市麵上給微軟寫APPS的很多人、曆史上的很多程序,都有這個“小”問題。
沒學過詞法掃描的,用過DOS命令的,例如 REN WINDOWS9* WINDOWS10,你是想把win9更新到Win10, 結果也會把WINODWS95也變成Win10, 就是這類似的現象。
一位自來自微軟的開發員cranbourne說:我們本來叫win9的,結果測試結果顯示,市麵上大量的第三方程序代碼,都含有這樣的語句來判斷是否Windows95和98: if(version.StartsWith("Windows 9")) { /* 95 and 98 */ } else { ”
就是說,市麵很多程序都有:“如果版本號始於Windows 9時,就將其視為Windows 95、98或其他”。這意味著,若下一代操作係統被稱為“Windows 9”,則很可能被第三方軟件當成Windows 95或98。這樣第三方軟件就無法正常運行。例如,你要做Soft RAID,就需要根據版本來調不同的建構程序。
曆史的問題值得注意:因為過去的設計者考慮不周,因為這麽一個小小的問題,逼得現在的微軟無奈,隻得繞道避開,將下一代Windows命名成“Windows10” 。
可見,就因為某些人的一個小小的偷懶,結果給後來者帶來了無盡的麻煩。技術是這樣,政治也是這樣。其實,一國兩製的短期簡易,現在已給香港的問題帶來了麻煩。由於兩製的錯位,麻煩還將持續。