[TOC]
# 第4章 JavaScript是如何創造出來的
了解為什么和JavaScript是如何創建的,這有助于我們理解為什么它是這樣的。
1993年,NCSA的Mosaic是第一個廣受歡迎的web瀏覽器。1994年,一家名為網景的公司成立,是為了利用這個新興的萬維網的潛力。
Netscape創建了專有的web瀏覽器Netscape Navigator,它在20世紀90年代一直占主導地位。許多最初的 Mosaic作者繼續在Navigator上工作,但這兩個人故意不共享代碼。
Netscape很快意識到Web需要變得更加動態。即使您只想檢查用戶是否在表單中輸入正確的值,則需要將數據發送到服務器以提供反饋。1995年,網景雇傭了Brendan Eich,承諾讓他在瀏覽器中實現計劃(一種Lisp方言)。[ 4 ]
在開始之前,Netscape與硬件和軟件公司Sun(后被Oracle收購)合作,在Navigator中包含更多靜態編程語言Java 。因此,Netscape的一個激烈辯論的問題是為什么Web需要兩種編程語言:Java和腳本語言。腳本語言的支持者提供以下解釋:[ 5 ]
> We aimed to provide a “glue language” for the Web designers and part time programmers who were building Web content from components such as images, plugins, and Java applets. We saw Java as the “component language” used by higher-priced programmers, where the glue programmers—the Web page designers—would assemble components and automate their interactions using [a scripting language].
我們旨在為Web設計師和有時構建Web內容的部分程序員(如圖像,插件和Java小程序)提供“膠水語言”。我們將Java視為高成本程序員使用的“組件語言”,膠水程序員(網頁設計者)將使用[腳本語言]組裝組件并自動執行交互。
那時,Netscape管理層決定了一個腳本語言必須具有類似于Java的語法。這排除了采用Perl,Python,TCL或Scheme等現有語言。為了捍衛JavaScript與競爭性提案的想法,Netscape需要一個原型。
Eich在1995年5月10天寫了一篇。JavaScript的第一個代碼是Mocha,由Marc Andreesen創造。
Netscape營銷后來因為商標原因而將其改為LiveScript,并且因為多個產品的名稱已經具有前綴“Live”。在1995年11月底,Navigator 2.0B3 出爐并包含原型,該原型繼續其早期存在而沒有重大變化。1995年12月初,Java的發展勢頭越來越大,語言又重新命名為JavaScript。[ 6 ]
[ 4 ] Brendan Eich,“受大眾歡迎”,2008年4月3日,http://bit.ly/1lKl6fG。
[ 5 ] Naomi Hamilton,“編程語言的A-Z:JavaScript”,Computerworld,2008年7月30日,http://bit.ly/1lKldIe。
[ 6 ] Paul Krill,“JavaScript的創造者過去,未來”,InfoWorld,2008年6月23日,http://bit.ly/1lKlpXO ; Brendan Eich,“JavaScript簡史”,2010年7月21日,http://bit.ly/1lKkI0M。
- 本書簡介
- 前言
- 關于這本書你需要知道些什么
- 如何閱讀本書
- 目錄
- I. JavaScript的快速入門
- 第1章 基礎的JavaScript
- II. 背景知識
- 第2章 為什么選擇JavaScript?
- 第3章 JavaScript的性質
- 第4章 JavaScript是如何創造出來的
- 第5章 標準化:ECMAScript
- 第6章 JavaScript的歷史里程碑
- III. 深入JavaScript
- 第7章 JavaScript語法
- 第8章 值
- 第9章 運算符
- 第10章 布爾值
- 第11章 數字
- 第12章 字符串
- 第13章 語句
- 第14章 異常捕獲
- 第15章 函數
- 第16章 變量:作用域、環境和閉包
- 第17章 對象和繼承
- 第18章 數組
- 第19章 正則表達式
- 第20章 Date
- 第21章 Math
- 第22章 JSON
- 第23章 標準全局變量
- 第24章 編碼和JavaScript
- 第25章 ECMAScript 5中的新功能
- IV. 技巧、工具和類庫
- 第26章 元代碼樣式指南
- 第27章 調試的語言機制
- 第28章 子類化內置構造函數
- 第29章 JSDoc:生成API文檔
- 第30章 類庫
- 第31章 模塊系統和包管理器
- 第32章 其他工具
- 第33章 接下來該做什么
- 著作權