JavaScript 26 週歲生日!Node.js 官方發推特慶祝

MissD發表於2021-12-10

前天,也就是 12 月 4 日,是程式語言 JavaScript 面世 26 年的紀念日。

當天,Node.js 官方推特還專門發文慶祝:“Happy 26th Birthday,JavaScript”。

這是個充滿歡樂的日子,原因除了 JavaScript 和《蜘蛛俠:離家日》中性感梅嬸 Marisa Tomei 、說唱歌手 Jay Z 同一天過生日之外,更多的是在 1995 年那一年裡,JavaScript 誕生所帶來的傳奇意義。

因為在 1995 年,Java、JavaScript、PHP 這三種程式語言可謂“扎堆”問世,但其中最被人津津樂道的,就要數 JavaScript 了。

接下來,就讓我們一起回顧一下, 26 年前 JavaScript 首次亮相時,科技界人士對其激動人心的看法吧:

1995 年 12 月 4 日,為了紀念 JavaScript 的釋出,Netscape 和 Sun Microsystems 公司聯合釋出了一份新聞稿。

該稿件版本聲稱,JavaScript 將是一種“易於使用”的指令碼語言,旨在“建立實時線上應用程式”。

這則新聞一經發布,便收到了來自當時行業巨頭的一片讚譽。

附上 1995 年科技行業(28家行業領先公司之一)成員對“初出茅廬”的 JavaScript的看法(注:職位名稱取自當時的報導):

“JavaScript 是一項激動人心的技術,因為它代表了專為網際網路設計的下一代軟體。惠普致力於開放標準,並且是 JavaScript 的支持者,因為它補充了惠普的開放系統體系結構。”——惠普部門經理 Jan Silverman

“JavaScript 是一種可以跨平臺編寫指令碼訪問資料庫的好方法,並將生成的資料移動到 Macromedia Shockwave 中,在那裡可以對其進行渲染、設定動畫並製作成用於 Internet 的實時互動式多媒體。JavaScript 也是 Macromedia 正在構建的新多媒體釋出工具的一項很有前途的核心技術。”——Macromedia 總裁兼 CEO Bud Colligan

“JavaScript 帶來了快速多媒體應用程式開發的強大功能,在作業系統和體系結構層面實現了跨平臺移動。我們很高興將這種強大的語言整合到我們的開發人員程式中。”——America Online Technologies 總裁 Mike Connors

“JavaScript 與 Silicon Graphics suite 的內容建立和應用程式開發工具完全匹配。這種組合將通過開發更豐富的互動式應用程式而使業界受益。”——Silicon Graphics 總裁兼 CEO Tom Jermoluk

“AT&T 對 JavaScript 的支援不僅僅是對酷技術的支援,而是對開放標準流程的支援。開放標準對網際網路的成功與開放連線同樣重要。”——美國電話電報公司閘道器服務部副總裁 Tom Evslin

“JavaScript 將允許我們輕鬆為 Excite 服務建立個性化的小程式。這些小程式與 Excite 服務的豐富功能相結合,將在使用者探索和瀏覽網際網路時更充分地融入使用者體驗。”——Architext軟體技術長Graham Spencer

“JavaScript 和 Java 代表了 Internet 和企業計算內部網發展的重要步驟。JavaScript 允許 Internet 應用程式輕鬆連線到生產資料庫,如 CA OpenIngres..”——Computer Associates執行副總裁兼技術長 Nancy Li

“像 JavaScript 這樣的工具將釋放出新一波的創造力,並以無人能預測的方式改變網際網路。JavaScript和其他開發將要求提高系統效能…”——美國數字裝置公司網際網路商業集團副總裁 Rose Ann Giordano

“通過啟用實時線上應用程式,JavaScript 將使使用者受益。這些應用程式需要一個強大的資料庫引擎來進行內容管理...通過與Netscape合作,我們將為 web 使用者帶來最好的線上資料庫和實時互動技術。”Informix軟體董事長兼CEO Phil White

“SCO 期待在我們的 OpenServer 和 UnixWare 產品線上支援 JavaScript 語言。JavaScript 將使開發人員能夠建立比以往任何時候都更具刺激性和互動性的基於 Web 的應用程式,使他們能夠在日益複雜的網路使用者群中競爭所需的優勢網際網路使用者。”——SCO 分層產品副總裁 Richard Treadway

“我們計劃利用 JavaScript 的強大功能整合我們自己的自動文件索引和摘要技術。我們技術的強大功能和使用大大增強了伺服器及其為web客戶端提供及時而有價值的文件。”——Iconovex Corporation 銷售和營銷副總裁 Robert Griggs

“為 Java 開發建立通用、標準的指令碼語言將加速採用這項新的激動人心的技術,為消費者提供動態、實時的內容。Metrowerks 將支援 JavaScript,作為我們努力的一部分,將 Java 工具作為新 Internet 開發的首選程式設計平臺。”——Metrowerks公司總裁兼 CEO Greg Galanos

“JavaScript使開發人員能夠在獨立於平臺的開發環境中建立功能強大的新型多媒體豐富應用程式。”——Illustra資訊科技創始人兼技術長 Michael Stonebraker 博士

“Verity 對 Java 非常感興趣,因為它是一個強大的工具,可以提供動態顯示功能和客戶端對搜尋和代理平臺結果的操作。可配置性是Verity伺服器的關鍵優勢,JavaScript的可用性為非程式設計師利用Java物件的能力提供了一個理想的工具定製Verity應用程式的外觀和感覺。”——Verity 網際網路營銷總監 Steve Zocchi

“Paper軟體計劃使用JavaScript作為粘合劑,讓我們的開發合作伙伴將Java、外掛和Paper的多維VRML使用者介面結合在一個分散式線上應用程式中。”——Paper軟體 CEO Mike McCue
......
當然,以上所有這些對於 JavaScript 早期的評論觀點,放到 26 年後的今天來看,當然會顯得有些“歷史”了。但無論如何,那就是當時那個時代最前沿的觀點。

JavaScript 的“戲劇性”誕生記

作為世界上最流行的程式語言之一,JavaScript 自 1995 年首次亮相以來,已經受到了眾多程式設計師們喜愛,不管你同意與否。

但其實,JavaScript 的誕生過程,也頗具戲劇性。

時間撥回到 1994 年,那一年正好美國 Netscape(網景公司)釋出了 Navigator 瀏覽器 0.9 版,但由於該版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。因此 ,Netscape 急需一種網頁尾本語言,使得瀏覽器可以與網頁互動。

恰好,當時 Netscape 看到了 Sun 公司正式推出了 Java(原名 Oak 語言),因此有點心動,隨後便與 Sun 公司結聯。

1995 年 4 月,34 歲的系統程式設計師 Brendan Eich 被 Netscape 錄用。

據瞭解,當時 Brendan Eich 的主要方向和興趣是函數語言程式設計,但 Netscape 招聘他的目的,是研究將 Scheme 語言作為網頁尾本語言的可能性。

一個月之後,也就是 1995 年 5 月,Netscape 指定了 Brendan Eich 作為新"簡化版 Java 語言"的設計師。

為了應付公司安排的任務,Brendan Eich 只花了 10 天時間就給出了一個設計版本——Javascript。

他的設計思路大概是這樣的:

  • 借鑑C語言的基本語法;
  • 借鑑Java語言的資料型別和記憶體管理;
  • 借鑑Scheme語言,將函式提升到"第一等公民"(first class)的地位;
  • 借鑑Self語言,使用基於原型(prototype)的繼承機制。

由於時間太短,該語言的一些細節考慮得不夠嚴謹,導致後來很長一段時間,用Javascript 寫出來的程式混亂不堪。

所以,Javascript 語言實際上是兩種語言風格的混合產物,即(簡化的)函數語言程式設計+(簡化的)物件導向程式設計。

據說,如果不是公司的決策,Brendan Eich 絕對不會把 Java 作為 Javascript 設計的原型。

作為設計者,Brendan Eich 一點也不喜歡自己的這個作品:

現在看來,儘管 JavaScript 的誕生初衷很簡單,但卻有了後來意想不到的火熱發展,如今更是成為程式設計師廣泛使用和學習的一門程式語言。

關於 JavaScript

JavaScript 通常縮寫為 JS,是一種符合 ECMAScript 規範的高階程式語言。

JavaScript 通常是實時編譯的和多正規化的,具有動態型別、基於原型的物件導向和一流的功能。

除 HTML 和 CSS 外,JavaScript 也是全球資訊網的核心技術之一。有資料顯示,有超過 97% 的網站使用該語言進行網頁客戶端操作,且經常合併第三方庫。所有主要的 Web 瀏覽器都有一個專用的 JavaScript 引擎來在使用者裝置上執行程式碼。

作為一種多正規化語言,JavaScript 支援事件驅動、函式式和指令式程式設計風格。它具有用於處理文字、日期、正規表示式、標準資料結構和文件物件模型(DOM)的應用程式程式設計介面(API)。

JavaScript 引擎最初只用於web瀏覽器,但現在它們是一些伺服器和各種應用程式的核心元件。這種用法最流行的執行時系統是 Node.js。

千萬不要把 JavaScript 和 Java 混淆,儘管 JavaScript 和 Java 兩者之間有相似之處,包括語言名稱、語法和各自的標準庫,但這兩種語言是不同的,在設計上有很大的不同。

相關文章