<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 孫悟空和Web爭霸

孫悟空和Web爭霸

發(fā)布人:金捷幡 時(shí)間:2021-08-01 來(lái)源:工程師 發(fā)布文章

小李飛刀李尋歡的孫子叫李壞,世間絕頂高手。但在一個(gè)夜晚,他癡癡地看著(zhù)一把飛刀像一道美妙的月光插進(jìn)自己的左胸?!?《飛刀又見(jiàn)飛刀》



上篇我們聊鴻蒙(鏈接)的時(shí)候,花了很大篇幅說(shuō)方舟。那么這個(gè)思路到底對不對呢?做過(guò)學(xué)術(shù)的人都知道,什么想法都是你第一個(gè)那是很難的。我們看看業(yè)界有沒(méi)有類(lèi)似的嘗試。


有個(gè)叫FireMonkey的東東實(shí)現過(guò)類(lèi)似方舟的理念,而且Win/Mac/iOS/Android統統支持。這個(gè)可以翻譯成“孫悟空”的玩意兒,正是現在Delphi的一部分。


從Windows 11看,微軟除了支持傳統的Win32、.NET程序外,還支持Web程序PWA和安卓App 。再看最新發(fā)布的Windows365,整個(gè)操作系統都可以作為SaaS在瀏覽器里跑。


各種平臺的邊界開(kāi)始變得模糊,硬件架構的鴻溝逐漸被各種編譯器翻譯器填平。


本文按慣例扯亂一點(diǎn),順便續寫(xiě)一下《程序員之神》(鏈接),即Anders Hejlsberg以外的那些諸神故事。閱讀下去的前提,是知道Anders是誰(shuí),那個(gè)代碼飛刀例不虛發(fā)的神?!皩O悟空”的事兒,我們在文章后面再聊。


一、Delphi從崛起到衰落


很多人說(shuō)Anders離開(kāi)是Borland衰落的原因,但這絕對是夸大了。重量級的Delphi3研發(fā),Anders并未主要參與。Anders在Delphi發(fā)布一年后的1996年就去微軟了,Delphi由其最重要的戰友Chuck Jazdzewski領(lǐng)導到2004年,所以Chuck應該算第一功臣。


從1995年以后的七八年時(shí)間,Delphi一直給微軟Visual Studio強大的壓力。張小龍也在那期間用Delphi開(kāi)發(fā)Foxmail一戰揚名,后來(lái)他用Web技術(shù)做了郵箱、微信、還有小程序和諸神匯合,我們暫且不表。有個(gè)小八卦的是,據說(shuō)“Fox”是致敬令狐沖。


微軟Windows的新版本總是給Borland沉重打擊。如同OLE導致Borland C++敗北,.NET使得Delphi跟不上腳步,畢竟Borland沒(méi)有那么多資源做復雜的升級。


尤其在那時(shí),Java的重要性已經(jīng)明顯超過(guò)了Windows原生程序開(kāi)發(fā),Delphi在Borland內部逐漸失寵。


二、Blake、Chuck和Danny(BCD)


上世紀末,Borland集中火力在JBuilder上,立Java奇才Blake Stone為CTO,據說(shuō)這導致了Chuck離職去微軟。Danny Thorpe接管了Delphi任總架構師。


Danny本身是個(gè)勵志故事。他加入Borland時(shí)只是個(gè)助理測試員而且做了5年測試,但很幸運他是給Anders和Chuck做測試。


這告訴我們崗位不重要,和誰(shuí)在一起更重要。


喜歡自己燒瓷碗的Danny說(shuō)自己在Delphi 5的時(shí)候才開(kāi)始去看編譯器,傳說(shuō)那時(shí)沒(méi)人敢動(dòng)Anders的代碼。而Chuck的早期主要工作是VCL組件,“組件”正是Delphi震動(dòng)天下的殺器,也引發(fā)了后來(lái)Java、C#等后來(lái)開(kāi)發(fā)工具的模仿。


三、從JBuilder到VS Code


得益于Blake Stone的勇氣,JBuilder相當于是用Java重寫(xiě)的Delphi,這使Java程序更純正兼容。在微軟Visual J++提前出局的情況下,Borland JBuilder不負所望擊敗了幾乎所有對手,包括IBM VisualAge for Java。


在2001年IBM接受了失敗,把VisualAge for Java轉給開(kāi)源的Eclipse。一位遠在瑞士的軟件工程神級人物Erich Gamma加入了Eclipse團隊,隨后翻盤(pán)戰勝了JBuilder。


聰明的微軟挖走了Blake Stone,無(wú)心戀戰的Borland隨后賣(mài)掉了IDE產(chǎn)品線(xiàn)。


遠在捷克的IntelliJ趁機靠著(zhù)專(zhuān)注于不斷優(yōu)化IDEA等產(chǎn)品走出商業(yè)IDE的成功之路。IntelliJ(現在叫JetBrains)是三個(gè)俄羅斯程序員在互聯(lián)網(wǎng)泡沫破滅時(shí)創(chuàng )建的。厲害的是,這幾位創(chuàng )始人一直拒絕外部投資和上市,這使他們避免了Borland的覆轍。


財大氣粗的微軟再從IBM把Erich Gamma挖走(湊齊了ABCDE五顆龍珠?),而且許諾Erich仍在瑞士工作而且自建團隊。Erich則再次完成了自我顛覆,用Web技術(shù)(Electron)為基礎打造出另一神作VS Code。


我們以前提到過(guò)貝索斯允許Chris Pinkham在南非工作做出AWS EC2,Anders遠在丹麥給Philippe Kahn工作,加上張小龍保持和Pony Ma的距離。這些故事告訴我們:如果你真心牛,可以勇敢要求老板讓你夏天在麗江、冬天在三亞工作。


四、Web再聚首


VS Code的設計思想完全和Visual Studio不同,Web技術(shù)驅動(dòng)是其核心,我們也能看到Web技術(shù)成為開(kāi)發(fā)工具大神們再次碰撞的競技場(chǎng)。


Chuck和Danny加入微軟后在Windows Live團隊合作過(guò),但微軟社交產(chǎn)品并不成功,兩人后來(lái)又離開(kāi)了。


Chuck目前在Google工作,在轉到安卓前端做Jetpack Compose之前,Chuck參與的工作居然是和Anders的TypeScript配合打造Angular 2。


Angular反過(guò)來(lái)也促進(jìn)了TypeScript的發(fā)展。


Angular的競爭對手是Facebook陣營(yíng)的React和后來(lái)以中國陣營(yíng)為主的Vue。加上VS Code,程序員的大神們再次聚首。


Vue的作者尤雨溪也出身Google。他是一個(gè)閃耀的例子,顯示了中國強大以后,在新一代衣食無(wú)憂(yōu)的情況下,也會(huì )像歐洲那樣產(chǎn)生因愛(ài)好而在編程界封神的情況。


五、Borland為什么失敗


Borland的ABCD四位大神都被微軟挖走,Delphi也最終被賣(mài)掉。


Danny在Quora上曾經(jīng)回答Borland為什么會(huì )失?。核J為Borland的管理層想從百萬(wàn)量級的程序員客戶(hù)轉到少數量高收入的企業(yè)級客戶(hù),方向上出了問(wèn)題。而B(niǎo)orland被董事會(huì )踢出局的傳奇創(chuàng )始人Philippe Kahn點(diǎn)了贊,Kahn認為Borland應該把目標放到億萬(wàn)用戶(hù)的桌面應用上。


Kahn出身是逃到法國的猶太家庭,他到美國淘金時(shí)沒(méi)綠卡也沒(méi)工作(相當于半非法移民),就自己開(kāi)了公司雇了自己。Kahn在瑞士ETH上大學(xué)時(shí)老師是Pascal語(yǔ)言的發(fā)明人Niklaus Wirth,這使他對Anders的Pascal編譯器慧眼識珠。


Kahn是最早采用高質(zhì)量軟件定價(jià)很便宜策略的企業(yè)家,Borland的產(chǎn)品大都是迅速搶占了市場(chǎng)。在Delphi誕生前,Borland曾在多個(gè)戰線(xiàn)和巨頭們開(kāi)戰。


Borland的dBase數據庫直接挑戰微軟的Access和ForPro。Borland的Quattro Pro和Lotus 1-2-3的法律大戰直打到聯(lián)邦最高法院并罕見(jiàn)地4:4戰平,結果微軟的Excel漁翁得利。


作為曾經(jīng)單挑比爾蓋茨的一代梟雄,Kahn此后仍執著(zhù)于觸達最終用戶(hù)的應用而與Web漸行漸遠,乃至流于平庸。


六、孫悟空和Xamarin


Borland把Delphi等開(kāi)發(fā)工具賣(mài)給Embarcadero以后,新主人在隨后十三年居然做到了一年一更新。


十年前的Delphi XE2中開(kāi)始出現了FireMonkey(孫悟空),它實(shí)現原生代碼的跨平臺,就是用一套Pascal代碼編譯就可以在蘋(píng)果和安卓甚至Windows上跑。但每一個(gè)App都要內嵌一套FireMonkey runtime。


FireMonkey和方舟一樣證明了靜態(tài)編譯在技術(shù)上是可行的。但是FireMonkey是否能靈活對付不同的屏幕尺寸和各種兼容性問(wèn)題,甚至靜態(tài)編譯是否有意義,仍是充滿(mǎn)爭議的。方舟倒是有個(gè)FireMonkey無(wú)法具備的優(yōu)勢,就是可以提前把runtime內置到鴻蒙里,這樣啟動(dòng)App速度能快很多。


微軟為了讓.NET可以侵入安卓、iOS包括Linux等,有個(gè)有點(diǎn)像FireMonkey的東西叫Xamarin。用這個(gè)東西不需要會(huì )Java,只要會(huì )C#也能編安卓App。Xamarin和FireMonkey或者方舟的區別在于,它更像個(gè)即時(shí)語(yǔ)言翻譯器。


Xamarin由Nat Friedman和一個(gè)墨西哥兄弟Miguel de Icaza搞的,之前叫Mono。這倆老兄也不是一般人,Nat Friedman目前是GitHub的CEO;Miguel是大名鼎鼎的GNOME的創(chuàng )始人之一,而在2014年Anders宣布.NET Core開(kāi)源時(shí),Miguel就站在旁邊,并受任.NET基金會(huì )第一任董事。



七、融合


天下大勢合久必分,分久必合。在多種語(yǔ)言多種平臺百花齊放后,Web技術(shù)逐漸眾神匯聚的地方,也給我們帶來(lái)更多的細分領(lǐng)域:PWA、AMP、SPA、WebAssembly...


尤其WebAssembly,由于實(shí)現速度在數量級上的提升,逐步侵入原本認為不可能的領(lǐng)域,讓瀏覽器成為一切的中心成為可能。


Web技術(shù)在手機App的使用也是現在的很多人爭論的話(huà)題。Web技術(shù)天生是開(kāi)放的,但原生App性能好,更重要是可以很流氓,更容易控制權限和流量。


現階段原生和Web App誰(shuí)也殺不死誰(shuí),很多Web App套上原生的殼,互相融合互相欺騙。


八、小結


在這篇文章里,我們提到了丹麥人、瑞士人、法國人、南非人、墨西哥人、俄羅斯人、當然還有中國人。對軟件史沒(méi)有興趣的朋友,估計對這些名字已經(jīng)痛苦不堪。


碼農的生活有點(diǎn)像多神教:學(xué)不完的經(jīng)書(shū),拜不完的眾神。


Delphi像中了飛刀的李壞,他沒(méi)有死,但江湖里再沒(méi)人提他的名字。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: web

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>