要讀這篇文章以前,讀者需要先理解我的觀點:「專案的失敗有時候要等到專案預定的里程碑都執行完成後才出現」。
單看「里程碑執行的結果」經常會出現「里程碑越成功,整個專案越失敗」的笑話。
大概是上世紀90年代,一個叫做Java的程式語言誕生了。其實這個語言本身沒什麼太特別的地方,只是它應該是第一個從一開始開發設計時就捨棄了眾家軟體界大神在發展競逐「高階語言」都還有的心態:不停思考怎麼什麼樣的語法可以讓寫程式變得寫更好寫更快。
(然後這幾年負責發展它的甲骨文很不知死活的回頭走這條路。)
它專注在幾件事情上,其中最重要的一件事情就是:將Java程式設定為一款在虛擬機器上運行的程式。
這個虛擬機器稱為Java Virtual Machine,簡稱JVM。
JVM最特別的地方除了「它被列為Java語言的標準項目之一」以外,還有「不是只有Java語言寫出來的程式能在上面運行」。
設計程式給虛擬機器執行的程式語言,它不是第一個,更不是最後一個,但它是第一個(甚至是唯一一個)擁有、且成功執行這個策略的程式語言。
從此以後,時不時會有新一批軟體/APP工程師寫好了程式以後,管他硬體架構更新、還是作業系統更換,除非發現當初設計時有重大Bug、或使用者/開發商要求有新功能,否則他們再也不用頻繁更新維護自己寫好的軟體/APP,而是可以靠著寫好的軟體/APP的收益支持自己去更新技術、開發新功能、享受生活...
這樣的技術、框架、與商業應用與服務模式帶來的回報與需要的投入終於呈現一種合理的比例,投入軟體業對年輕人和投資者來說不再是個令人望而生畏的無底洞,這進一步給軟體業帶來了長達數十年的榮景!(直到Apple推出iOS、谷歌推出Android為止。這裡是指時間線,並不是指這兩家公司,他們當然有鍋要背,但一堆人需要一起背這個鍋。)
上面有提到硬體架構更新和作業系統更換,奇妙的是硬體架構的發展其實也有類似的脈絡。
早些年,支配電腦市場的IBM等公司並沒有這樣的觀念,每款電腦之間的架構都有一定程度的差異,搭配的作業系統也經常是獨立的,很少有「A電腦的作業系統能夠直接拿來B電腦用」這樣的例子。這時期的軟體業就是等電腦公司推出新電腦、有一系列的配套軟體需求時,上門毛遂自薦搶生意,過得很辛苦很焦慮。開發出來的成果壽命相對短不說,給最終使用者的使用體驗也很不穩定。
並不是說硬體設計公司過很爽。他們的工作模式(管理策略)基本上是一堆「以為自己可以永遠年輕無止無盡爆肝工作」的人制定的,而這些制定工作模式的人成了高階管理者、甚至經營者後,研發工作的辛勞只有在導致成本增加、或賣出去的產品有重大Bug時,才會有人想到要來檢討改進一下;他們出入公司可能有豪車代步、甚至還有專用電梯,生活瑣事都有助理管家代勞、費用也公司買單,如果有年輕人跑來跟他們談論研發工作的辛勞或各種不合理規定,得到的回應大概是「整天抱怨、而不是認真工作,難怪你們無法達到我的成就。」但事實上,公司業務的規模早已經不是他們自己擔任研發工作時可以相比的了!這些年輕人的能力與付出並不見得比他們年輕時遜色。(後來,他們連跟年輕人接觸都懶了,講這種話的工作就由其他管理人或商管宣傳機器代勞了。)
但有家小蝦米公司擅自跳出來挑戰這個規則,那就是今天大名鼎鼎的Intel!
雖然Intel的挑戰並不是一步到位,「Wintel」這樣的商業策略是他們崛起很多年以後的東西,但它推出的「CPU插座」概念到了90年代讓晶片產業大爆炸!(這間接讓台灣有家公司看見了「晶片代工」的商機。應該不需要說這家公司的名字吧!)
雖然當時靠著「設計相容於Intel推出的CPU插座的CPU」而一起獲得成功的公司到了今天多數也都沒落了、或放棄了CPU生產(回頭專注在其他晶片領域),但有家公司大家應該不陌生:超微AMD。
一個CPU插座規格可以讓一套主機板在多種不同特性的CPU間做出搭配,這帶起了「DIY組電腦」的風潮,這也讓Intel成功地打敗了IBM。
「打敗IBM」這只是五個字,但想像一下有家小公司可以在十年內同時打敗Google跟微軟,即使是這樣的成就也很難跟「打敗IBM」相提並論啊!
最後一代向多家廠商開放授權的CPU插座規格叫做「Socket 7」,它的特色是「相容於上一代插座時推出的CPU」,但在IBM確實地承認落敗並放棄個人電腦產品以前,Intel就開始帶頭窩裡反、把攻擊矛頭指向幫助自己登上王座的其他人,——它開始停止向其他廠商提供新一代CPU插座的授權。
要說明:受益「CPU插座」設計的並不只是CPU設計公司,同時也包含了主機板公司,因為插座是做在主機板上的,而Intel自己一開始並不將自身主力放在主機板的晶片上。
靠著設計主機板晶片而獲得成功的公司數目規模並不小於CPU。
這些公司也是Intel攻擊矛頭指向的對象,因為Intel決定自己生產主機板晶片(甚至可能考慮某些功能只有自家直系晶片才能使用)。
「但你家的規格能夠支配整個市場,我們也有出力,我們應該是盟友、而不是敵人才對。」當年,這樣的「意見」經常出現在IT產業新聞裡。
但坐而言不如起而行,有兩家公司帶頭搞了個「Super Socket 7」的架構,可以完美相容「Socket 7」的CPU和主記憶體架構。
相容上一代CPU表示CPU設計商可以用舊的CPU設計為基礎去設計新CPU,所以新產品成功率會比較高。(注意!這只是個說法。詳細情況需要真正懂CPU設計的人來評論。)
但主記憶體架構也相容就很有趣了,因為它的記憶體規格嚴格說起來也有提升,但一樣是相容舊產品的,但Intel自家的主機板產品不一樣,它不知道吃錯了什麼藥,開始採用某家很奇妙的公司設計的很奇妙記憶體規格,貴、效能還不怎樣。
所以,主機板、CPU、主記憶體,這兩家公司的產品在這三者上策略結合後,提供給消費者可能更低的成本、更高的效能、更廣的擴增升級空間,這讓兩家公司的市佔率輾壓Intel。(記得曾經一度來到兩倍的差異。)
可惜,美好的時間總是過得特別短暫。
兩家公司中,設計CPU的那家也決定自己推出自己的規格,只是他們暫時沒有打算自己生產主機板晶片,所以還是繼續維持合作關係。
這決定徹底結束了Intel推出「CPU插座」後帶起的CPU榮景,自此個人電腦的CPU就是兩家獨大,其他家即使拼盡全力也推出自己的規格,在個人電腦市場的市佔率基本上都已經萎縮到「無法統計」了。
接著就是時脈大戰、3D晶片大戰、六十四位元大戰、核心數大戰....
然後忽然有一天,一切都安靜下來了!
個人電腦所使用的新一代CPU的效能增長程度只有個位數!
然後...等等等...接下來的事情會讓人讀完眼球炸開...然後幾乎每兩三年定時推出不向下相容的整組新規格!這時候如果走進DIY電腦市場,想要幫自己的電腦升級,「什麼?兩年前的CPU或是主機板想要找新的主機板或CPU搭配?你丟垃圾桶算了吧!」
當你以為這已經是你能得到最讓人洩氣的回答時,這話還有升級版,「幹嘛不丟,畢竟他們都有惡性Bug啊!」
為什麼一個架構壽命變得這麼短?還會連續出現產品有重大瑕疵的醜聞?我不知道Intel內部在想什麼,鮮少有內幕或任何對外說明,更不會有卸任主管出來「回憶」。
但,這一路走下來,這個產業的變化跟軟體業長達數十年的榮景其實是同時期並進的。
雖然最近軟體業也走進了死胡同、開始爆出很多很華麗的失敗煙火,但軟體業犯的錯沒有什麼懸念,那是種無法避免的愚蠢嘗試,但Intel的王朝從90年代走到今天的樣子,它們沒帶領大家走到一個電腦產品更便宜更耐用更省電更普及多元的世界,而是早早就推行了種開倒車的策略,然後拼命在已開發國家市場結合電玩或高汰換律的筆電等消費產品來維持自己。
等已開發國家的電玩或筆電需求碰到瓶頸,自身的技術策略單一薄弱,又沒有盟友來做後盾....等等!這不就是最近在發生的事情嗎?
乾杯,等著看Intel王朝的崩潰吧!