把程序显示在最前面 delphi_地球程序员之神:没上过大学,曾拒盖茨的Offer,4代码农靠他吃饭...
腳本之家
你與百萬開發(fā)者在一起
導(dǎo)讀:很多人認(rèn)為程序員應(yīng)該供的神里面排名第一的應(yīng)該是Linus Torvalds,因?yàn)樗荓inux和Git之父。
然而我要試圖反駁這個(gè)觀點(diǎn),因?yàn)榈厍蛏嫌辛硗庖晃粋ゴ蟮某绦騿T,有超過四代碼農(nóng)用他的開發(fā)工具吃飯。
Linus只用C編程而且不到30年,而這位神級程序員在近40年中一直創(chuàng)造引領(lǐng)潮流的開發(fā)工具(Turbo Pascal/Delphi/C#/TypeScript),他就是Anders Hejlsberg。
作者 : 金捷幡
本文經(jīng)授權(quán)轉(zhuǎn)載自金捷幡(ID:jin-jiefan)
01
Anders并沒有大學(xué)文憑,但這絲毫不重要。當(dāng)年微軟Server部門負(fù)責(zé)人Bob Muglia認(rèn)為,地球上只有幾個(gè)人可以做出偉大的開發(fā)工具架構(gòu),Anders還是其中那個(gè)最棒的,頂尖中的頂尖。
當(dāng)時(shí),Anders在微軟的競爭對手Borland工作。微軟試圖挖了他一年,但都被婉拒。
比爾蓋茨打電話給Anders,說我可以做什么才能讓你來。Anders后來回憶說,那是他人生特別尷尬的一個(gè)時(shí)刻。他已經(jīng)財(cái)務(wù)自由,只想做自己熱愛的事。
1996年,Anders和Borland高層有些意見分歧,微軟趁機(jī)開出每年300萬美元的高額待遇,更重要的是許諾他可以享有充分的協(xié)作資源,終于把這位英雄招至麾下。從后來的貢獻(xiàn)看,也許3000萬請到Anders,也不會虧。
02
Anders是1960年出生在丹麥,父親是摩托羅拉的工程師,典型的科技家庭。Anders在上中學(xué)時(shí)就開始編程,他回憶說那時(shí)用的HP2100還是紙帶編程。上大學(xué)時(shí)有個(gè)高年級學(xué)生喜歡玩Mousehole紙牌游戲,但是老輸錢給Anders,覺得他很牛,就請他合伙一個(gè)小公司叫Polydata。
Anders有臺Z80,這電腦只有4Mhz CPU和32K內(nèi)存,上面有微軟Basic。結(jié)果Anders玩了一天就玩膩了,隨后開始玩匯編。大神在20歲就顯露了神跡,他兩三個(gè)星期就寫出了Pascal編譯器,并賣給了一個(gè)英國公司。然后大神就輟學(xué)了,并在多個(gè)平臺包括DOS上重寫了Pascal編譯器。
1983年,當(dāng)時(shí)Borland還是個(gè)丹麥公司,自己做編譯器做得很爛,找到Anders買了他的編譯器并整合成Turbo Pascal。微軟CTO在一次節(jié)目中說,這應(yīng)該是PC上面第一個(gè)真正的集成開發(fā)環(huán)境(IDE),但Anders很謙虛地說他不知道。
▲Turbo Pascal截圖,好喜歡這個(gè)begin...end
當(dāng)時(shí)Anders并未加入Borland,因?yàn)锽orland后來搬到硅谷去了。Anders選擇遠(yuǎn)程服務(wù),因?yàn)楫?dāng)時(shí)并沒有互聯(lián)網(wǎng)也沒有email,當(dāng)時(shí)寄代碼都是靠聯(lián)邦快遞。
1989年,Anders自己的公司Polydata經(jīng)營不太好,加上女友很向往去美國,他就決定去美國加入Borland。
03
Borland當(dāng)然喜出望外,任命Anders為首席程序員。在Turbo Pascal成功后,Borland又發(fā)布了Turbo C,從而揚(yáng)名天下。中國第一代程序員好像都是用Turbo C的,包括偉大的王小波同志。
而Anders的主要任務(wù),是秘密開發(fā)可視化環(huán)境的超級IDE:Delphi。當(dāng)時(shí)微軟已經(jīng)推出自己的Visual Basic大獲好評,但一碰到直接編譯二進(jìn)制EXE的Delphi立刻被秒成渣渣。
Delphi使用Object Pascal,語言設(shè)計(jì)極其優(yōu)雅,完美面向?qū)ο?#xff0c;完美結(jié)合數(shù)據(jù)庫,而且可以直接操控操作系統(tǒng)(硬件和網(wǎng)絡(luò)等),應(yīng)該說開發(fā)Windows原生程序堪稱完美。有意思的是,Delphi上面的VCL和RTL庫都是用Delphi自己開發(fā)自己的,自帶的源代碼可以讓程序員學(xué)習(xí)真正高手是怎么編程的。
▲Delphi 2截圖
當(dāng)年國內(nèi)大量著名程序都使用了Delphi,包括張小龍的Foxmail和雷軍的WPS。
后來著名的Borland C++也被直接移植架在Delphi上,這就是C++ Builder。
這時(shí)我似乎聽到蓋茨在嘆息,我非得此人不可。
04
Anders加入微軟時(shí),正是互聯(lián)網(wǎng)風(fēng)起云涌之時(shí)。Sun剛發(fā)布了跨平臺可以到處運(yùn)行的Java,微軟感覺生態(tài)受到嚴(yán)重威脅,抓緊開發(fā)Visual J++和WFC,Anders成了主導(dǎo)人物。VJ++很快成為世界上最快的Java編譯器,并支持ActiveX等微軟生態(tài)產(chǎn)品。
Sun發(fā)現(xiàn)微軟不用自己的Java虛擬機(jī),搞出個(gè)更快的東西。他們深深憂慮被微軟分裂了Java,所以果斷起訴了微軟。結(jié)果微軟敗訴,被迫在VJ++頁面承認(rèn)和Sun Java不兼容,導(dǎo)致了VJ++的最終失敗。
Anders第一次碰到自己的產(chǎn)品不是因?yàn)樾阅軉栴}而失敗,他承認(rèn)自己有點(diǎn)天真了。短暫沮喪之后立刻恢復(fù)了大神本色:我們微軟要自己搞一套和Java競爭的平臺。
這就是2000年發(fā)布的C#和.net平臺。Anders設(shè)計(jì)的C#也是優(yōu)美的面向?qū)ο笏俣纫步?jīng)常快于Java。十幾年過去,C#依舊是互聯(lián)網(wǎng)開發(fā)的主力語言之一。
▲Logo版權(quán):微軟
05
近年來開源軟件風(fēng)起云涌,PHP/Python/Ruby/Swift等熱度高升,年輕人都不記得Anders這個(gè)大叔了。結(jié)果在大家最意想不到的地方,大神再次亮劍。
JavaScript(JS)是互聯(lián)網(wǎng)使用最多的腳本語言,而這個(gè)原本不該是Anders的強(qiáng)項(xiàng),因?yàn)樗歉愀叽笊系臋C(jī)器碼編譯器而不是低級的腳本的。然而,Anders再次推出TypeScript震撼了程序圈。
TypeScript是編譯輸出JavaScript的工具,也是JS的超集。它不僅可以輸出客戶端的JS,還可以輸出服務(wù)端大熱的Node.js。TypeScript大大提高了程序員寫JS的效率和降低了差錯(cuò)的概率。
更難能可貴的是,作為頂級Geek,Anders積極擁抱開源社區(qū),推動微軟從封閉走向開放。TypeScript就是微軟最早的開源產(chǎn)品之一。納德拉上臺后,Anders更是促成Visual Studio免費(fèi)的重要推手,這個(gè)開發(fā)套件了包括了C#和TypeScript。
06
在很多新興語言變得越來越臃腫復(fù)雜的當(dāng)下,程序員們怎么評價(jià)Anders的作品呢:有品味,優(yōu)雅,簡潔。Anders說,這是因?yàn)樗麑幊坛錆M了熱情。
年近60的Anders今天仍舊在寫程序,他說一旦停止寫代碼后,就會膨脹飛起來,忘了程序員真正需要什么。我們現(xiàn)在還能看到他每個(gè)月在Github提交的代碼。
▲github截圖
我自己在90年代用過Delphi,排第一肯定有偏心的成分。特以此文致敬我心目中最偉大的程序員:Anders Hejlsberg。
更多精彩
在公眾號后臺對話框輸入以下關(guān)鍵詞
查看更多優(yōu)質(zhì)內(nèi)容!
女朋友?|?大數(shù)據(jù)?|?運(yùn)維?|?書單?|?算法
大數(shù)據(jù)?|?JavaScript?|?Python?|?黑客
AI?|?人工智能?|?5G?|?區(qū)塊鏈
機(jī)器學(xué)習(xí)?|?數(shù)學(xué)?| 留言送書
請?jiān)诹粞詤^(qū)給出你的答案與解析,解答精彩者獲得《算法詳解(卷1)》一本
??
●??“互聯(lián)網(wǎng)從此沒有 BAT”
●??腳本之家粉絲福利,請查看!
●?書榜 | 計(jì)算機(jī)書籍(5.27-6.02)銷售排行榜
●?談判失敗:Oracle殺死Java EE
●?這些IT經(jīng)典好書讓你受用一生
●?入行AI,程序員為什么要學(xué)習(xí)NLP?
●??我爸的電腦中了勒索病毒
總結(jié)
以上是生活随笔為你收集整理的把程序显示在最前面 delphi_地球程序员之神:没上过大学,曾拒盖茨的Offer,4代码农靠他吃饭...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: birt脚本for循环语句_Python
- 下一篇: python中re模块_python中r