JavaScript歷史 它最初由Netscape的Brendan Eich設計。JavaScript是甲骨文公司的註冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標準。JavaScript也可以用於其他場合,如伺服器端編程。完整的JavaScript實現包含三個部分:E ...
JavaScript歷史
它最初由Netscape的Brendan Eich設計。JavaScript是甲骨文公司的註冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標準。JavaScript也可以用於其他場合,如伺服器端編程。完整的JavaScript實現包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。
Netscape在最初將其腳本語言命名為LiveScript,後來Netscape在與Sun合作之後將其改名為JavaScript。JavaScript最初受Java啟發而開始設計的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規範也借自Java。但JavaScript的主要設計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當時Netscape為了營銷考慮與Sun微系統達成協議的結果。為了取得技術優勢,微軟推出了JScript來迎戰JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲電腦製造商協會)創建了ECMA-262標準(ECMAScript)。兩者都屬於ECMAScript的實現。儘管JavaScript作為給非程式人員的腳本語言,而非作為給程式人員的腳本語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。
發展初期,JavaScript的標準並未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(歐洲電腦製造商協會)的協調下,由Netscape、Sun、微軟、Borland組成的工作組確定統一標準:ECMA-262
以上這些是百度百科百度出來的JavaScript的歷史
然後再來說說他的創始人
布蘭登·艾奇(Brendan Eich,1961年~),JavaScript的發明人,目前(2005年至2014年)在Mozilla公司擔任首席技術長(Chief Technology Officer)。出任Mozilla的CEO十天就被迫辭職
他就是這樣的一個人
主題來了
今天看到一則評論是這樣寫的:
寫前端的直接承認就行了,JavaScript 這門語言被 Brendan Eich 搞的就是屎!一!樣!的!設!計!
Wiki 上原文:
JavaScript was originally developed in 10 days in May 1995 by Brendan Eich, while he was working for Netscape Communications Corporation. Indeed, while competing with Microsoft for user adoption of Web technologies and platforms, Netscape considered their client-server offering a distributed OS with a portable version of Sun Microsystems's Java providing an environment in which applets could be run.[citation needed] Because Java was a competitor of C++ and aimed at professional programmers, Netscape also wanted a lightweight interpreted language that would complement Java by appealing to nonprofessional programmers, like Microsoft's Visual Basic (see JavaScript and Java).[10]
大意就是 JavaScript 根本就是 Bredan Eich 這一個實習生在短時間內趕工出來的一個目標輕量級的解釋形語言。
Bredan Eich 本來是個寫 Lisp 的,壓根就沒搞過 OOP,但是當時網景想借 Java 的“東風”,結果他“苦熬”十天憋出來這麼個玩意兒。你能在 JavaScript 里看到很多 Lisp 的影子,感覺它好像是個函數式的。函數式里函數是第一等公民(即所謂的 First-Class Function),函數可以被當作參數傳遞給另一個函數,這裡就涉及到作用域的問題。可是又特麽有個不倫不類的 prototype 和 this,又有點兒像 OOP。call 和 apply 就是這種情況下的產物,又像函數式又像 OOP。
呵呵好幾個踩我的,都是前端沒跑了。
我自己也寫前端,寫這麼多年了誰罵 JS 我給誰點贊。
JS 是屎、可不代表用屎寫不出來牛嗶的作品來。這都拎不清的我勸你趁早轉行。
估計水平不咋地的人看到自己唯一會的一門語言被罵,只會急得跳腳,暗搓搓地點個踩心裡再噴兩句,也不想想自己寫的代碼是不是屎上加屎。
首先看到這個我不禁一抖,JavaScript真的是這樣嗎?
於是我查查了資料,資料上是這麼說的:
網景急於解決瀏覽器與用戶交互這個問題。當時解決這個問題有兩個辦法,一個是採用現有的語言,比如Perl、Python、Tcl、Scheme等等,允許它們直接嵌入網頁。另一個是發明一種全新的語言。
這兩個選擇各有利弊。第一個選擇,有利於充分利用現有代碼和程式員資源,推廣起來比較容易;第二個選擇,有利於開發出完全適用的語言,實現起來比較容易。到底採用哪一個選擇,網景公司內部爭執不下,管理層一時難以下定決心。
就在這時發生了一件大事,1995年Sun公司將Oak語言改名為Java,正式向市場推出。Sun公司大肆宣傳,許諾這種語言可以"一次編寫,到處運行"(Write Once, Run Anywhere),它看上去很可能成為未來的主宰。網景公司動了心,決定與Sun公司結成聯盟。它不僅允許Java程式以applet(小程式)的形式,直接在瀏覽器中運行;甚至還考慮直接將Java作為腳本語言嵌入網頁,只是因為這樣會使HTML網頁過於複雜,後來才不得不放棄。
總之,當時的形勢就是,網景公司的整個管理層,都是Java語言的信徒,Sun公司完全介入網頁腳本語言的
決策。 因此,Javascript後來就是網景和Sun兩家公司一起攜手推向市場的,這種語言被命名為"Java+script"並不是偶然的。此時,34歲的系統程式員Brendan Eich登場了。1995年4月,網景公司錄用了他。
Brendan Eich的主要方向和興趣是函數式編程,網景公司招聘他的目的,是研究將Scheme語言作為網頁腳本語言的可能性。Brendan Eich本人也是這樣想的,以為進入新公司後,會主要與Scheme語言打交道
僅僅一個月之後,1995年5月,網景公司做出決策,未來的網頁腳本語言必須"看上去與Java足夠相似",但是比Java簡單,使得非專業的 網頁作者也能很快上手。 這個決策實際上將Perl、Python、Tcl、Scheme等非面向對象編程的語言都排除在外了。
Brendan Eich被指定為這種"簡化版Java語言"的設計師。
重點內容
但是,他對Java一點興趣也沒有。為了應付公司安排的任務,他只用10天時間就把Javascript設計出來了。
由於設計時間太短,語言的一些細節考慮得不夠嚴謹,導致後來很長一段時間,Javascript寫出來的程式混亂不堪。如果Brendan Eich預見到,未來這種語言會成為互聯網第一大語言,全世界有幾百萬學習者,他會不會多花一點時間呢?
總的來說,他的設計思路是這樣的:
(1)借鑒C語言的基本語法;
(2)借鑒Java語言的數據類型和記憶體管理;
(3)借鑒Scheme語言,將函數提升到"第一等公民"(first class)的地位;
(4)借鑒Self語言,使用基於原型(prototype)的繼承機制。
所以,Javascript語言實際上是兩種語言風格的混合產物----(簡化的)函數式編程+(簡化的)面向對象編程。 這是由Brendan Eich(函數式編程)與網景公司(面向對象編程)共同決定的。
如果不是公司的決策,Brendan Eich絕不可能把Java作為Javascript設計的原型。作為設計者,他一點也不喜歡自己的這個作品:
"與其說我愛Javascript,不如說我恨它。它是C語言和Self語言yiyeqing的產物。十八世紀英國文學家約翰遜博士說得好:'它的優秀之 處並非原創,它的原創之處並不優秀。' (the part that is good is not original, and the part that is original is not good.)"
差不多以上就是JavaScript這門語言比較完整的介紹了,我覺得那個評論者的一句話很對:JS 是屎、可不代表用屎寫不出來牛嗶的作品來。這都拎不清的我勸你趁早轉行
最後
反正我是挺喜歡JavaScript這門語言的,但我還是感覺他還是有一點難,可能是因為我學的知識還不夠多吧
JavaScript借鑒了那馬多的語言的特性,我覺得已經很不錯,就這一點,我就覺得它是一門值得去學的語言,更何況經過
多年的發展,JavaScript從ES到ES再到ES,還有現如今流行的typescript,我總是相信JavaScript的道路會越走越好,就像那句話說的那樣:以後能用JavaScript實現的。都將會用JavaScript來實現,還有一點是,現在前端語言除了JavaScript來寫腳本,還能用其他什麼語言嗎?這個問題在JavaScript發明之初就面對過,正因為沒有更好的,所以,網景公司才會開發一門新的語言,來寫前端腳本,在隨著現如今的JavaScript在不斷地發展著,相比JavaScript剛問世被罵,被排擠,被瀏覽器禁用,好的太多太多了,我也相信JavaScript會一直是最優秀的前端腳本語言,最近正在讀JavaScript的那本犀牛書,就是JavaScript權威指南,我覺得挺有意思,也正是因為這個,我才慢慢喜歡上了JavaScript,祝JavaScript越來越好,我耶會對JavaScript繼續進行學習,JavaScript現如今可是非常獲得一門一門語言呢,正如所說的那樣:發明者要是知道,JavaScript現在回這嗎流行,他應會謹慎考慮而不會用十天時間來完成對他的創作吧,畢竟JavaScript現在可是可以寫出十分厲害的東西呢。
哈哈哈,JavaScript,不管別人怎嗎罵你,你作為我進入電腦領域的第一門語言(除了HTML,css),我一定不會討厭你的,現在大二,我估計我大學剩下的兩年還是會跟你好好相處的,OK,書寫完畢,洗澡去!