Anders Hejlsberg 和 Erich Gamma


Anders Hejlsberg 和 Erich Gamma

大概半年前,我寫了一篇名叫《有點軟文》的文章,深情並茂地告訴大家,我司其實隱藏着很多牛人巨擘。有些人是身懷屠龍技,但是大家不認識;有些朋友則是聲名遠播,但可惜的是大家根本不知道他在微軟。在看完 Connect ( Visual Studio 大會 )之后,我決定克服拖延症,來講一講大會上除了 Scott Gu (Asp.Net 之父)以外的兩個天王巨星。

那就是 Anders Hejlsberg 和 Erich Gamma

Anders Hejlsberg

Anders 出席本次 Connect 大會,主要還是介紹他設計的 TypeScript 。那么誰是 Anders?

Anders 早年寫了Compass Pascal編譯器的 core,后來賣給了 Borland,也就開始為 Borland 打工。之后一直是 Turbo Pascal 的架構師。離開 Borland 之前,Anders 設計了 Delphi 語言。

96年,Anders 被 Bill Gates 親自挖到了微軟,給予了豐厚的薪水(百萬美金,那還是20世紀哎我去)以及極大的權力。后果就是 Borland 和微軟要死要活地打官司,控訴微軟不正當拐騙,最后還真的贏了官司。之后 Anders 在微軟主持開發 Visual J++,結果沒幾年就與 Sun 在 Java 的問題上發生了末日之戰,不幸的是 Visual J++ 最終停止了開發(這哥們真是走哪兒官司打到哪兒)。隨后 Anders 開始主持 .NET 的設計與開發,並且擔任 C# 語言的首席架構師。

2012 年,Anders 宣布了他設計的新語言 TypeScript,這門語言是 JavaScript 的超集同時具備靜態類型。TypeScript 雖然很年幼且有着濃濃的味,但是社區已經開始展現對它的興趣,比如 Angular 2 就是用 TypeScript 寫的。

簡言之,如果你是微軟平台上的開發者,你幾乎無法和 Anders 脫離關系。而如果你是 Angular 的開發者,不久的將來,你也會感受到 Anders 的榮光。這哥們就是語言設計專業戶。

Erich Gamma

我們知道 Anders 醉心於語言設計,而 Erich 就是軟件開發的實踐派。每每談到軟件開發,大家就不可避免地提及設計模式。而將設計模式從建築行業引入到軟件領域的,就是 Erich Gamma(當然,還有另外三個小伙伴,他們的統稱十分霸氣,Gang of Four,四人 幫)。Erich 91年博士畢業后就來到美國,與三個小伙伴一起布道設計模式。

注解 :經網友提醒,這里多講點背景故事。Erich Gamma 在加入微軟之前,和 Kent Beck 一起合作開發了單元測試框架 JUnit ,之后又領導了 Eclipse Java Development Tools 項目,真的是 IBM 的一個瑰寶啊。

有些工程師朋友會覺得設計模式不過是紙上談兵,這里我們按下不表。Erich Gamma 在11年加入了 Visual Studio Team,開始在瑞士蘇黎世獨自帶領團隊(Erich 是瑞士人,我司為了大牛也真是大手筆)。加入 Visual Studio Team 之后,Erich 開始親自操刀,用 JavaScript 實現的編輯器 Monaco。在 Visual Studio Online,Onedrive(線上),Office 365 中廣泛應用。

我剛加入微軟的時候,做的項目中就用了 Monaco,剛開始不知天高地厚,發現 Monaco 的 bug 后還嚷嚷着要去爆他們。有一次內部 Training,我們組也不知道怎么就請到了 Erich Gamma,他跟我們介紹如何利用 TypeScript (和 Anders 老兄產生了交集)重構 Monaco,把代碼量從十萬行硬是降到了兩萬以下。當時我都沒好好聽,覺得這又是一個愛忽悠的哥們。后來某次翻看設計模式的書,突然發現我天天想着要去爆的人,居然就是大名鼎鼎的 Erich。

不過憑良心講,在沒有意識到 Monaco 是 Erich 寫的時候,我就已經深感 Monaco 比 Ace或者 CodeMirror 性能好的多。只不過由於只在內部使用且未開源,Monaco 並未聲名遠播。

直到,Erich Gamma 把 Monaco 用 Electron (跨平台包裝工)包裝了一下,瞬間變為多平台的編輯器 Visual Studio Code。剛發布的時候,很多朋友都以為這和 GitHub Atom 沒區別,但下載使用后卻發現性能比 Atom 好出很多。都是使用 Electron 實現跨平台,而編輯器本身,Monaco 暫時略甚一籌。希望切身實際地學習和領悟設計模式的最佳實踐,快去看 Visual Studio Code 的源碼吧!

#看到這里的朋友都是真愛,我決定透露一個我的驚人發現 從軟文的角度,本文到這里其實就可以結束了。但是為了我的忠實聽眾們,我決定來講一個 Google 的項目:Angular 2。

AngularJS 在經歷了大火之后,Google 的朋友們發現它的缺陷過於明顯(暫時不展開,同學們可以參考我以前的幾篇博客),於是決定重構。而在重構的過程中,Google 的 Angular team 和微軟一起合作,研究新版本 Angular 的架構的各種可行性,最終選擇了使用 TypeScript 作為開發語言。而他們使用的開發工具則是 Visual Studio Code。

你們想想,一群 Google 的天才,有 Anders 設計的 TypeScript 和 Erich Gamma 開發的 VS Code 保證代碼質量和開發效率,Angular 2 要好成什么樣你說!

https://rebornix.com/snippets/2015/11/20/minisoft-anders-erich/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM