[轉帖]安德斯·海爾斯伯格

Delphi/C#之父首次訪華:55歲了 天天都寫代碼
來源 硬件世界

海爾斯博客 還有 大衛卡特勒 微軟的編程大神

 

Delphi、C#之父Anders Hejlsberg 近日首次訪華,並在10月24日和27日參加了兩場見面會,分享了他目前領導開發的TypeScript項目,並與國內前端開發者近距離交流。本文就爲讀者描述一下近距離接觸大師的印象,以及Anders對TypeScript的設計理念和想法。前端

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

他爲微軟開發和設計出Visual J++、.NET平臺以及C#語言,能夠說他開發出的軟件和語言影響全世界整整一代程序員。編程

目前,他是C#語言的首席架構師和TypeScript的核心開發者與TypeScript開源項目的重要領導人。瀏覽器

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

Anders印象架構

Anders現年55歲,在軟件開發的道路上已經走過30餘年,但仍然對工做充滿熱情。他性格和藹而風趣,同時,仍是個純粹的程序員,天天仍然有不少時間花在編程上。框架

雖然相處時間不長,但你們紛紛圍着他捨不得分開,這是一位讓人願意親近的長者、前輩和大師。編程語言

筆者將他的印象總結爲三點:終身編程、開源信徒、語言大師。工具

終身編程性能

Anders如今天天仍然花大量的時間實際寫代碼,而且將來會一直寫下去。他很清醒的知道本身長處:「相比起管理,我仍是更擅長於編程。」開發工具

事實上,Anders的成名之做Turbo Pascal經過出售軟件受權就讓他得到了大量財富,以後微軟高薪聘請更讓他衣食無憂,Anders不只僅是能夠轉管理——只要他開口,微軟有不少的職位在等着他——他甚至能夠什麼都不用作,但他仍然堅持編程,由於這是他的興趣和激情所在。

對於他如何能達到如今的成就,他表示,10000小時定律和興趣是很重要的因素,編程是一項須要時間來掌握的技能。

Anders說,他回憶一下,的確是花了這麼長時間才真正掌握編程,而另外一方面,興趣也是很是重要的,若是有兩個工做,一個給的多些,另外一個給的少些,可是是你感興趣的事業,Anders建議選感興趣的那個。

國內有很多資深程序員在工做一段時間以後都轉了管理,但仍對編程難以忘懷,瞭解Anders的平生和想法,想必會有所啓發。

開源信徒

Anders對開源精神的認同和身體力行讓人驚訝,他如今在Github上天天要提交十屢次代碼。很難想象他來自微軟,固然,微軟如今其實也在擁抱開源,而且這其中也有Anders的努力。

微軟自Satya Nadella(薩提亞·納德拉)擔任CEO後,開始融入社區,向開發者示好,其中的重要舉措就是開源,Anders是其背後的推進力量之一。

不只他以前參與的.NET核心引擎CoreCLR開源,如今的TypeScript也完全是由社區主導的開源項目,微軟並不干涉TypeScript的發展方向,全部決策都由社區得出。

在Anders的分享裏,他總結微軟如今的開源戰略:

• 新開發項目首選開源

• 創立.NET基金會管理開源項目

• 開源+開放開發,使用並依賴Github

• 跨平臺開發工具,典型的如Visual Studio Code

Anders認爲開源是軟件開發的趨勢,如今若是你的軟件不是開源的,開發者可能更願意選擇別的開源的解決方案。

語言大師

Anders在語言設計、開發工具、編譯器等諸多領域都有很是深厚的功底,這爲他設計出C#語言打下了基礎,C#語言被公認爲設計很是優秀的語言,做爲它的創造者,Anders毫無疑問是一位語言設計的大師。在現場他分享了一些對編程語言的見解:

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

• 設計存活時間更長的語言:有些編程語言隨着時間流逝再也不流行,但有些語言如C語言,幾十年過去了仍然被不少人使用,語言與趨勢(如移動互聯網、物聯網)無關,語言設計者的目標是設計存活更長時間的語言。

• 困難即美味:記者問到Anders對JavaScript語言的見解,他認爲JavaScript在設計上有諸多問題,但仍然有其優勢,更重要的是,用戶不少,而且難以被替代。至於Anders爲什麼會選擇修補JavaScript,他認爲這對他是一項挑戰,之前沒有人作過,解決這一問題對他就像美味通常。

TypeScript:大JS生態圈的一環

TypeScript最近發佈了1.6版本,它在社區裏的接受度也愈來愈高,好比有人從CoffeeScript遷移到TypeScript,也有人認爲它比Facebook的Flow更好。這一切都要歸功於Anders爲TypeScript帶來的優秀設計。

Anders分享道,其實TypeScript作的並很少。它的兩大特性,第一個給JavaScript加上可選的類型系統,Anders表示,不少事情是隻有靜態類型才能作的,給JavaScript加上靜態類型後,就能將調試從運行期提早到編碼期,諸如類型檢查、越界檢查這樣的功能才能真正發揮做用。在Anders現場的演示能夠看到,TypeScript的開發體驗的確遠遠超過以往純JavaScript的開發體驗,無需運行程序便可修復潛在bug。

另外一個特性是支持將來的ES 6甚至ES 7,最近的更新都與此有關。在TypeScript中,你能夠直接使用ES 6的最新特性,在編譯時它會自動編譯到ES 3或ES 5,這個功能和最近流行的Babel相似,事實上,Anders認爲TypeScript的競爭對手並不是Dart、CoffeeScript這類語言,而是Babel,不過TypeScript的類型系統是Babel沒法作到的,Babel也僅是一個編譯工具,沒法提供更好的開發體驗。

在問到對TypeScript未來的規劃時,Anders顯得很剋制。TypeScript不追求替代JavaScript,沒有計劃直接運行在瀏覽器、系統裏,它僅僅關注在編譯到JavaScript以前的事情,編譯以後的事情,諸如JavaScript性能調優等等,並不關心。

Anders表示,TypeScript最大的目的是讓程序員更具創造性,提升生產力,它將極大的加強JavaScript編寫應用的開發和調試環節,讓JavaScript可以方便用於編寫大型應用,進行多人協做。

這種定位讓TypeScript能更輕鬆的被JS程序員所接受,除了上面提到社區的反應,最知名的還要數Google採用TypeScript來開發其Angular 2框架,Google和微軟甚至爲此第一次聯合召開發佈會。在國內,也有HTML5遊戲引擎Egret使用TypeScript進行開發。因而可知,TypeScript已經足夠可用,甚至進入大公司的生產環境。

固然,最後讓人推薦TypeScript的緣由,還有Anders自己,有如此大牛帶領,相信這門語言正走在正確的道路上,它的將來不可限量。

相關文章
相關標籤/搜索