Delphi/C#之父首次訪華:55歲了每天都寫代碼

2015-11-05 01:52:00 來源:InfoQ 作者:佚名 人氣: 次閱讀 56 條評(píng)論

Delphi、C#之父AndersHejlsberg近日首次訪華,并在10月24日和27日參加了兩場(chǎng)見面會(huì),分享了他目前領(lǐng)導(dǎo)開發(fā)的TypeScript項(xiàng)目,并與國內(nèi)前端開發(fā)者近距離交流。本文就為讀...

Delphi、C#之父Anders Hejlsberg 近日首次訪華,并在10月24日和27日參加了兩場(chǎng)見面會(huì),分享了他目前領(lǐng)導(dǎo)開發(fā)的TypeScript項(xiàng)目,并與國內(nèi)前端開發(fā)者近距離交流。本文就為讀者描述一下近距離接觸大師的印象,以及Anders對(duì)TypeScript的設(shè)計(jì)理念和想法。

Anders Hejlsberg(安德斯·海爾斯伯格)于1960年出生于丹麥,在Borland公司開發(fā)出Turbo Pascal和Delphi之后加入微軟,主持微軟下一代開發(fā)工具的研發(fā)。

他為微軟開發(fā)和設(shè)計(jì)出Visual J++、.NET平臺(tái)以及C#語言,可以說他開發(fā)出的軟件和語言影響全世界整整一代程序員。

目前,他是C#語言的首席架構(gòu)師和TypeScript的核心開發(fā)者與TypeScript開源項(xiàng)目的重要領(lǐng)導(dǎo)人。

Delphi/C#之父首次訪華:55歲了 每天都寫代碼

Anders印象

Anders現(xiàn)年55歲,在軟件開發(fā)的道路上已經(jīng)走過30余年,但仍然對(duì)工作充滿熱情。他性格和善而風(fēng)趣,同時(shí),還是個(gè)純粹的程序員,每天仍然有很多時(shí)間花在編程上。

雖然相處時(shí)間不長,但大家紛紛圍著他舍不得分開,這是一位讓人愿意親近的長者、前輩和大師。

筆者將他的印象總結(jié)為三點(diǎn):終身編程、開源信徒、語言大師。

終身編程

Anders現(xiàn)在每天仍然花大量的時(shí)間實(shí)際寫代碼,并且未來會(huì)一直寫下去。他很清醒的知道自己長處:“相比起管理,我還是更擅長于編程。”

事實(shí)上,Anders的成名之作Turbo Pascal通過出售軟件授權(quán)就讓他獲得了大量財(cái)富,之后微軟高薪聘請(qǐng)更讓他衣食無憂,Anders不僅僅是可以轉(zhuǎn)管理——只要他開口,微軟有很多的職位在等著他——他甚至可以什么都不用做,但他仍然堅(jiān)持編程,因?yàn)檫@是他的興趣和激情所在。

對(duì)于他如何能達(dá)到現(xiàn)在的成就,他表示,10000小時(shí)定律和興趣是很重要的因素,編程是一項(xiàng)需要時(shí)間來掌握的技能。

Anders說,他回憶一下,的確是花了這么長時(shí)間才真正掌握編程,而另一方面,興趣也是非常重要的,如果有兩個(gè)工作,一個(gè)給的多些,另一個(gè)給的少些,但是是你感興趣的事業(yè),Anders建議選感興趣的那個(gè)。

國內(nèi)有不少資深程序員在工作一段時(shí)間之后都轉(zhuǎn)了管理,但仍對(duì)編程難以忘懷,了解Anders的生平和想法,想必會(huì)有所啟發(fā)。

開源信徒

Anders對(duì)開源精神的認(rèn)同和身體力行讓人驚訝,他現(xiàn)在在Github上每天要提交十多次代碼。很難想象他來自微軟,當(dāng)然,微軟現(xiàn)在其實(shí)也在擁抱開源,并且這其中也有Anders的努力。

微軟自Satya Nadella(薩提亞·納德拉)擔(dān)任CEO后,開始融入社區(qū),向開發(fā)者示好,其中的重要舉措就是開源,Anders是其背后的推動(dòng)力量之一。

不僅他之前參與的.NET核心引擎CoreCLR開源,現(xiàn)在的TypeScript也徹底是由社區(qū)主導(dǎo)的開源項(xiàng)目,微軟并不干涉TypeScript的發(fā)展方向,所有決策都由社區(qū)得出。

在Anders的分享里,他總結(jié)微軟現(xiàn)在的開源戰(zhàn)略:

• 新開發(fā)項(xiàng)目首選開源

• 創(chuàng)立.NET基金會(huì)管理開源項(xiàng)目

• 開源+開放開發(fā),使用并依賴Github

• 跨平臺(tái)開發(fā)工具,典型的如Visual Studio Code

Anders認(rèn)為開源是軟件開發(fā)的趨勢(shì),現(xiàn)在如果你的軟件不是開源的,開發(fā)者可能更愿意選擇別的開源的解決方案。

語言大師

Anders在語言設(shè)計(jì)、開發(fā)工具、編譯器等諸多領(lǐng)域都有非常深厚的功底,這為他設(shè)計(jì)出C#語言打下了基礎(chǔ),C#語言被公認(rèn)為設(shè)計(jì)非常優(yōu)秀的語言,作為它的創(chuàng)造者,Anders毫無疑問是一位語言設(shè)計(jì)的大師。在現(xiàn)場(chǎng)他分享了一些對(duì)編程語言的看法:

• 極簡:Anders喜歡簡單(simplicity),除非必要,否則不添加語言特性,一個(gè)好的語言特性是它必須的最小集。

• 設(shè)計(jì)存活時(shí)間更長的語言:有些編程語言隨著時(shí)間流逝不再流行,但有些語言如C語言,幾十年過去了仍然被很多人使用,語言與趨勢(shì)(如移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng))無關(guān),語言設(shè)計(jì)者的目標(biāo)是設(shè)計(jì)存活更長時(shí)間的語言。

• 困難即美味:記者問到Anders對(duì)JavaScript語言的看法,他認(rèn)為JavaScript在設(shè)計(jì)上有諸多問題,但仍然有其優(yōu)點(diǎn),更重要的是,用戶很多,并且難以被替代。至于Anders為何會(huì)選擇修補(bǔ)JavaScript,他認(rèn)為這對(duì)他是一項(xiàng)挑戰(zhàn),以前沒有人做過,解決這一問題對(duì)他就像美味一般。

TypeScript:大JS生態(tài)圈的一環(huán)

TypeScript最近發(fā)布了1.6版本,它在社區(qū)里的接受度也越來越高,比如有人從CoffeeScript遷移到TypeScript,也有人認(rèn)為它比Facebook的Flow更好。這一切都要?dú)w功于Anders為TypeScript帶來的優(yōu)秀設(shè)計(jì)。

Anders分享道,其實(shí)TypeScript做的并不多。它的兩大特性,第一個(gè)給JavaScript加上可選的類型系統(tǒng),Anders表示,很多事情是只有靜態(tài)類型才能做的,給JavaScript加上靜態(tài)類型后,就能將調(diào)試從運(yùn)行期提前到編碼期,諸如類型檢查、越界檢查這樣的功能才能真正發(fā)揮作用。在Anders現(xiàn)場(chǎng)的演示可以看到,TypeScript的開發(fā)體驗(yàn)的確遠(yuǎn)遠(yuǎn)超過以往純JavaScript的開發(fā)體驗(yàn),無需運(yùn)行程序即可修復(fù)潛在bug。

另一個(gè)特性是支持未來的ES 6甚至ES 7,最近的更新都與此有關(guān)。在TypeScript中,你可以直接使用ES 6的最新特性,在編譯時(shí)它會(huì)自動(dòng)編譯到ES 3或ES 5,這個(gè)功能和最近流行的Babel類似,事實(shí)上,Anders認(rèn)為TypeScript的競(jìng)爭(zhēng)對(duì)手并非Dart、CoffeeScript這類語言,而是Babel,不過TypeScript的類型系統(tǒng)是Babel無法做到的,Babel也僅是一個(gè)編譯工具,無法提供更好的開發(fā)體驗(yàn)。

在問到對(duì)TypeScript將來的規(guī)劃時(shí),Anders顯得很克制。TypeScript不追求替代JavaScript,沒有計(jì)劃直接運(yùn)行在瀏覽器、系統(tǒng)里,它僅僅關(guān)注在編譯到JavaScript之前的事情,編譯之后的事情,諸如JavaScript性能調(diào)優(yōu)等等,并不關(guān)心。

Anders表示,TypeScript最大的目的是讓程序員更具創(chuàng)造性,提高生產(chǎn)力,它將極大的增強(qiáng)JavaScript編寫應(yīng)用的開發(fā)和調(diào)試環(huán)節(jié),讓JavaScript能夠方便用于編寫大型應(yīng)用,進(jìn)行多人協(xié)作。

這種定位讓TypeScript能更輕松的被JS程序員所接受,除了上面提到社區(qū)的反應(yīng),最知名的還要數(shù)Google采用TypeScript來開發(fā)其Angular 2框架,Google和微軟甚至為此第一次聯(lián)合召開發(fā)布會(huì)。在國內(nèi),也有HTML5游戲引擎Egret使用TypeScript進(jìn)行開發(fā)。由此可見,TypeScript已經(jīng)足夠可用,甚至進(jìn)入大公司的生產(chǎn)環(huán)境。

當(dāng)然,最后讓人推薦TypeScript的原因,還有Anders本身,有如此大牛帶領(lǐng),相信這門語言正走在正確的道路上,它的未來不可限量。

您可能感興趣的文章

    無相關(guān)信息

相關(guān)文章