JavaScript是什么,如何立足于編程語言之林?
一、JavaScript這個名字
JavaScript,倘若顧名思義,似乎就是Java語言的某種輕量級的腳本語言。而事實上,JavaScript這門語言的初衷也的確如此。
首先,與Java類似,JS也源于C或者C++,用 {}標記statement,而用;標記expression;
其次,JS的最初定位是成為能運行在Web上的輕量級Java語言,面向熟悉Java語言的用戶;
最后,討個好的口彩,1995年JS誕生之際,Java正紅。
然而,另外一個事實卻是,JS既不是Java也不是輕量級(如Python)一般的Script腳本語言。
另外,JavaScript是Oracle的注冊商標,因此常常以簡寫的JS代替,或者在標準文件中代之以ECMAScript。
二、JavaScript立足于世界的 Specication
JavaScript的技術規范由TC39委員會全面掌舵(50~100人分別來自瀏覽器廠家,設備廠家等)。他們每兩個月開會一次,討論所有的Proposals進展。
提出的Proposals分為5個階段,Stage0,Stage1,Stage2,Stage3,Stage4;并在Github上開源探討。
得益于TC39技術委員會對標準的出色維護,JS只有一個版本。這一點與完全由社區驅動的Python的散兵游勇有著本質的區別。
雖然JS語言持續開疆拓土,從瀏覽器到服務器,到機器人,到燈光照明等等,但其規范主要針對于瀏覽器而言。
三、JavaScript的多副面孔
編程語言有三種Paradigm(范式)-- procedural, object-oriented (OO/classes), and functional (FP)。比如C語言是Procedural-Paradigm,而Java/C++則是OO-Paradigm,Scheme是FP-Paradigm。
JS頗具靈活性,是多范式的語言,因此得以博采眾家之所長。
四、Inpterpreted 還是 Compiled?
最后我們需要厘清一點,JS到底是解釋語言還是編譯語言。乍一看,JS似乎是為“編譯語言”所鄙視的“解釋語言”。
意外之喜是JS是編譯語言,因此就性能而言,有著無限光明的前途。
