天天看點

JavaScript之父 Brendan Eich 出任 Mozilla CEO

3月24日, Mozilla 宣布 聯合創始人和 CTO Brendan Eich (JavaScript 之父)被任命 為Mozilla CEO。

JavaScript之父 Brendan Eich 出任 Mozilla CEO

Brendan Eich 是 Mozilla 的聯合創始人,同時也是 JavaScript 之父。

1995年,在 Netscape 公司工作的 Brendan Eich 受命開發一個在浏覽器上運作的用戶端腳本語言。當時 Netscape 交給 Brendan Eich 的任務是開發一個看上去像 Java 的腳本語言。當時,由于 Netscape 正和 Sun 談合作,讓 Netscape 浏覽器支援 Java,是以有些員工懷疑是否有必要開發一種新語言。Netscape 的另一些開發者則打算開發一個在伺服器端運作的 HTML 模闆語言,類似 PHP,他們把這個語言稱作 LiveWire。為了打消大家的顧慮,Brendan Eich 花了 10 天時間做出了一個原型 Mocha 。 兩周不到的時間就做出了一個語言的編譯器和運作時環境,小夥伴們都驚呆了。在1995年秋季,Netscape 的市場部門将 Mocha 命名為 LiveScript,和伺服器端的 LiveWire 保持一緻。由于當時 Java 比較時髦,Netscape 和 Sun 合作,在 1995 年 12 月将其改名為 JavaScript,希望能沾上一點光。實際上,JavaScript 的思想主要來自

Scheme Self

Brendan Eich 曾在

JSConf 2010 上介紹過 JavaScript的曆史 ,其中透露了一些有關 JavaScript 以及他本人的趣聞:

  • Brendan Eich 在 1977 年的時候和 John McCarthy (Lisp 之父)見過面。
  • Brendan Eich 的發型主要受 Morrissey 影響。
  • JS 的

    function

    關鍵字确實源于 AWK。

由于 NodeJS 的興起,JavaScript 的影響力從前端(浏覽器端)向後端(伺服器端)發展。NodeJS 的興起在 Brendan Eich 的意料之中:

我并不對 NodeJS 的出現感到意外,因為 Netscape 當年就想做一個類似的東西。開發者們喜歡全棧的、覆寫前後端的、單語言的開發模式。

Brendan Eich 所說的“Netscape 當年就想做一個類似的東西”就是指上文提到的 LiveWire。LiveWire 使用的是阻塞的 I/O,是以伸縮性并不好。而 NodeJS 預設使用異步處理,避免了這個問題。Brendan Eich 認為 NodeJS 内置非阻塞 I/O 是一個明智的選擇。他對 NodeJS 短小精悍的語言核心和優秀的子產品系統也倍加贊譽。

另一方面,由于 JavaScript 性能的持續改進,有越來越多的語言支援編譯到 JavaScript 執行。是以有人說:“JavaScript 是 Web 的彙編。” Brendan Eich 對此的看法是:

幾年前,我曾說過“JS 是 Web 的x86”(好像是在一次 JSConf 上),不過我不敢說我是第一個這麼說的。Nick Thompson 今年(2011)也在 Hacker News 中這麼說過。

關鍵在于,JS确實在按照我們想的,越來越往低級方向發展了。但它也具備進階的特性。

Shaver說得沒錯,彙編缺少可靠的宏處理器,是以不适合程式員,也不夠安全。但JS可不是這樣。是以,這個比喻需要加點限制條件,不然就要鬧出笑話來了。

無論從進階函數式程式設計還是記憶體安全角這個角度看,還是從低級特性,像類型化數組以及即将成為現實的ES中類型化數組的擴充、二進制資料,等等來說,JS都是一個比彙編更加強大的程式設計語言。當然了,記憶體安全是首要的差別。

近兩年, JavaScript 的演進非常迅速。 ECMAScript 6 标準的公布,昭示着 JavaScritp 激動人心的未來。