javascript的誕生

JavaScript因爲互聯網而生,緊隨着瀏覽器的出現而問世。回顧它的歷史,就要從瀏覽器的歷史講起。

1990年底,歐洲核能研究組織(CERN)科學家Tim Berners-Lee,在全世界最大的電腦網絡——互聯網的基礎上,發明了萬維網(World Wide Web),從此可以在網上瀏覽網頁文件。最早的網頁只能在操作系統的終端裏瀏覽,也就是說只能使用命令行操作,網頁都是在字符窗口中顯示,這當然非常不方便。

1992年底,美國國家超級電腦應用中心(NCSA)開始開發一個獨立的瀏覽器,叫做Mosaic。這是人類歷史上第一個瀏覽器,從此網頁可以在圖形界面的窗口瀏覽。

1994年10月,NCSA的一個主要程序員Marc Andreessen聯合風險投資家Jim Clark,成立了Mosaic通信公司(Mosaic Communications),不久後改名爲Netscape。這家公司的方向,就是在Mosaic的基礎上,開發面向普通用戶的新一代的瀏覽器Netscape Navigator。

1994年12月,Navigator發佈了1.0版,市場份額一舉超過90%。

Netscape公司很快發現,Navigator瀏覽器需要一種可以嵌入網頁的腳本語言,用來控制瀏覽器行爲。當時,網速很慢而且上網費很貴,有些操作不宜在服務器端完成。比如,如果用戶忘記填寫“用戶名”,就點了“發送”按鈕,到服務器再發現這一點就有點太晚了,最好能在用戶發出數據之前,就告訴用戶“請填寫xx欄”。這就需要在網頁中嵌入小程序,讓瀏覽器檢查每一欄是否都填寫了。

管理層對這種瀏覽器腳本語言的設想是:功能不需要太強,語法較爲簡單,容易學習和部署。那一年,正逢Java語言開始推向市場,Netscape公司決定,腳本語言的語法要接近Java,並且可以支持Java程序。這些設想直接排除了使用現存語言,比如perl、python和TCL。

1995年,Netscape公司僱傭了程序員Brendan Eich開發這種網頁腳本語言。Brendan Eich有很強的函數式編程背景,希望以Scheme語言(函數式語言鼻祖LISP語言的一種方言)爲藍本,實現這種新語言。

1995年5月,Brendan Eich只用了10天,就設計完成了這種語言的第一版。它是一個大雜燴,語法有多個來源:

  • 基本語法:借鑑C語言和Java語言。
  • 數據結構:借鑑Java語言,包括將值分成原始值和對象兩大類。
  • 函數的用法:借鑑Scheme語言和Awk語言,將函數當作第一等公民,並引入閉包。
  • 原型繼承模型:借鑑Self語言(Smalltalk的一種變種)。
  • 正則表達式:借鑑Perl語言。
  • 字符串和數組處理:借鑑Python語言。

爲了保持簡單,這種腳本語言缺少一些關鍵的功能,比如塊級作用域、模塊、子類型(subtyping)等等,但是可以利用現有功能找出解決辦法。這種功能的不足,直接導致了後來JavaScript的一個顯著特點:對於其他語言,你需要學習語言的各種功能,而對於JavaScript,你常常需要學習各種解決問題的模式。而且由於來源多樣,從一開始就註定,JavaScript的編程風格是函數式編程和麪向對象編程的一種混合體。

Netscape公司的這種瀏覽器腳本語言,最初名字叫做Mocha,1995年9月改爲LiveScript。12月,Netscape公司與Sun公司(Java語言的發明者和所有者)達成協議,後者允許將這種語言叫做JavaScript。這樣一來,Netscape公司可以藉助Java語言的聲勢,而Sun公司則將自己的影響力擴展到了瀏覽器。

之所以起這個名字,並不是因爲JavaScript本身與Java語言有多麼深的關係(事實上,兩者關係並不深),而是因爲Netscape公司已經決定,使用Java語言開發網絡應用程序,JavaScript可以像膠水一樣,將各個部分連接起來。當然,後來的歷史是Java語言的瀏覽器插件(applet)失敗了,JavaScript反而發揚光大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章