1. 程式人生 > >JavaScript: 世界上最被誤解的語言!

JavaScript: 世界上最被誤解的語言!

翻譯:ShiningRay

亦稱為 Mocha LiveScript,也叫做 JScript ECMAScript ,是世界上流行的程式語言之一。事實上世界上差不多每臺個人電腦都至少安裝了一個直譯器。的流行完全在於它作為WWW的指令碼語言的角色。

不管它有多麼流行,極少有人瞭解是一個十分動態的通用面向物件程式語言。這怎能成為一個祕密呢?為什麼這個語言如此被誤解?

關於名字

這個Java-字首暗示了Java的關係,也就是JavaSciptJava的一個子集也就是不如Java強大。看上去這個名稱就故意製造混亂,然後隨之而來的是誤解。並不是解釋型的Java語言。Java是解釋型的Java是另一種語言。

Java的語法很相似,就象JavaC的語法相似一樣。但它也不是Java的子集就像Java也不是C的子集一樣。在應用上,Java要遠比原先設想的好得多(Java原稱Oak)。

並不是由Sun公司──Java的老家──開發的。是由Netscape公司開發。它本來叫做LiveScript,這個名字倒並不是那樣容易混淆。

這個-Script 字尾暗示了它不是一個完整的程式語言──似乎指令碼語言不是真正的程式語言。但其實這是一個專長的問題。相對C而言,犧牲了效能但帶來更強的表達力和動態性。

披著C外衣的Lisp

C風格的語法,包括大括號和複雜的for 語句,讓它看起來好象是一個普通的過程式語言。這是一個誤導,而事實上和函式式語言如Lisp

Scheme有更多的共同之處。它用陣列代替了列表,用物件代替了屬性列表,而且函式是第一型的,同時還有閉包。你不需要平衡那些括號就可以用lambda運算元。

思維定勢

是原本只是被設計在Netscape Navigator 中執行的。Netscape的成功讓JavaScript成為幾乎所有瀏覽器的標準配置。這導致了對JavaScript的思維定勢。簡直就是程式語言中的(一位曾扮演超人的演員,但後來死於槍殺,被官方認為自殺,細節不詳──譯註)。而事實上,也適合很多和Web無關的應用程式。

不斷改變的目標

的第一個版本功能十分弱。它缺少異常處理、內部函式和繼承。而它的現在的形態,它已經是一套完整的面嚮物件語言。但很多看法都是基於認為它的形式不成熟。

管理這個語言的ECMA委員正在開發擴充套件,原意是很好,而這樣做卻會加劇這個語言本來就最嚴重的問題:版本太多了。這也造成了很多混亂。

設計錯誤

沒有什麼程式語言是完美的,JavaScript當然也有它的設計上的錯誤,如+的過載同時表示加和帶型別轉換的串連線,和有錯誤傾向的 with 語句——應該避免使用。Javascript的保留字策略過於嚴格。分號的加入是一個很大的錯誤,正則表示式的記號也是。這些錯誤會導致程式設計錯誤,並導致語言的設計的全域性層面上的問題。幸運的是,這些問題可以用一個很好的lint

這個語言的設計從整體上看還是十分健全的。但很令人驚訝的是, ECMAScript委員會好象根本不想修正這些錯誤。也許他們對重新設計一個更感興趣。

骯髒的實現

JavaScript的早期實現錯誤百出。這對該語言帶來了很惡劣的影響。更糟糕的是,這些實現還被嵌入的更錯誤百出的瀏覽器中。

拙劣的書籍

不夠標準的標準

該語言的官方標準規格說明書由ECMA釋出。但該規格書也是質量奇差。它難以閱讀也難以理解。它也對拙劣書籍的問題作出了自己的一份“貢獻”,因為作者無法使用這個標準文件來增加他們對語言的認識。ECMATC39委員會應該為此感到深深的羞愧。

業餘愛好者

大部分寫的人都不是程式設計師。他們缺乏訓練寫好程式的修養。有如此豐富的表達能力,他們可以任意用它來寫程式碼,以任何形式。這給帶來了一個名聲──它是專門為外行設計的,不適合專業的程式設計師。這顯然不是事實。

面向物件

是不是面向物件的?它擁有物件,可以包含資料和處理資料的方法。物件可以包含其它物件。它沒有類,但它卻有構造器可以做類能做的事,包括扮演類變數和方法的容器的角色。它沒有基於類的繼承,但它有基於原型的繼承。

兩個建立物件系統的方法是通過繼承(是一個……)和通過聚合(有一個……)。兩個都有,但它的動態性質讓它可以在聚合上超越。

一些批評說不是真正面向物件的因為它不能提供資訊的隱藏。也就是,物件不能有私有變數和私有方法:所有的成員都是公共的。

但又有證明了JavaScript物件可以擁有私有變數和私有方法。當然,極少有人認識到,因為是世界是最受誤解的程式嘛!

另外還有批評說不能提供繼承,這裡證明了JavaScript不僅能支援傳統的繼承還能應用其它的程式碼複用模式。

相關推薦

JavaScript: 世界誤解語言!

翻譯:ShiningRay 亦稱為 Mocha 、LiveScript,也叫做 JScript ECMAScript ,是世界上流行的程式語言之一。事實上世界上差不多每臺個人電腦都至少安裝了一個直譯器。的流行完全在於它作為WWW的指令碼語言的角色。 不管它有多麼流行,極少有人

JavaScript世界誤解語言

JavaScript:世界上最被誤解的程式語言 作者:道格拉斯·克羅克福德(Douglas Crockford) 翻譯:Bumphy 正文 JavaScript,也叫Mocha,LiveScript,JScript,ECMAScript,是世界上最

javascript——從「誤解語言」到「流行的語言

pop tro 經驗 谷歌公司 語法 技術分享 易懂 選擇 12px JavaScript曾是“世界上最被誤解的語言”。由於它擔負太多的特性。包含糟糕的交互和失敗的設計,但隨著Ajax的到來。JavaScript“從最受誤解的編程語言演變為最流行的語言”,這除了幸運之外

搞程序開發的你,有必要知道目前世界權威開發語言排名

https tps ces 開發 ava python 教育學 blog 更多 近日,Stack Overflow 發布 2019 年開發者調查報告,今年早些時候有將近 9 萬名開發者參加了這份平均用時 20 分鐘的調查,報告涉及開發者基本情況、技術、工作、社區、方法論多個

世界流行的程式語言恰恰也是大多數黑客的首選武器

Python很快將是世界上最流行的程式語言。這算得上是豪言壯語,但如果你看一下Python的簡單性、靈活性以及相對容易上手的優點,不難看出為什麼《經濟學人》雜誌最近將Python譽為是即將在全球使用量最多的語言。當然,我們的威脅研究小組想看看Python在不法分子當中有多受歡

從一張圖看清世界大的數據中心分布區域

內蒙古 項目 ace net 監控 現場 萬維網 居住 為我 原文地址 去年年底,全球網站總數估計約970864745個,以每秒約2個網站的速度遞增。據互聯網研究公司Netcraft聲稱,活躍網站大約有1.77億個,使用數億個現有的主機名。 去年年底,全球網站總數估計

世界偉大的十個公式(轉載)

charles 深深 位移 數字信號 重要 方程組 font pan -h 這些公式不僅僅是數學家和物理學家的智慧結晶,更是人類文明的集中體現。每一個公式都深深影響了人類社會的變革,甚至塑造了人類的思想。這些公式中有些你會很熟悉,有些你也許不那麽熟悉。作為人類的我們

iMindmap 10世界專業的手繪3D思維導圖軟件

們的 視覺 圖庫 構建 goods tube 多個 可樂 分享圖片 下載iMindmap 10.0.4 - 世界上最專業的手繪3D思維導圖軟件 iMindMap是由Tony Buzan開發的思維導圖軟件,幫助用戶在思考和實現思想的過程中更有效地創建和工作。這是一個非常強大

[轉]為什麽股票投資是世界難成功的行業

試用 之間 靠譜 智商 產品 不想 辦理 打羽毛球 基本 我在二級市場摸滾打爬的時間已經十多年,接觸過的投資者起碼超過1000個,但真正成功實現財務自由的不足10人,即成功率不到1%。這裏把那些證券服務行業的人剔除,例如投行精英、券商老總。他們並不是靠炒股賺錢,而是靠提

世界小的3D遊戲大作只有96KB!你信嗎?

廠商 ext 就是 3年 啟動器 然而 模擬 曾經 開發 曾經有人說過世界上最大的遊戲,其中說到了微軟的《模擬飛行》,其容量是需要70G,當然了,這還不如是最大的遊戲,那麽其實在世界上有很多的各種各樣的遊戲吉尼斯世界紀錄,那麽你又知道多少,了解多少個關於遊戲的吉尼斯世界紀錄

天搜科技:從世界快的攝像機中看技術化未來

不可 近日 一個 時代 並且 更新 ado 過程 未來 你想知道光是如何運動的嗎?世界上最快的攝像機可以實現讓你的夢想。近日一段出自麻省理工大學研究人員之手的視頻在網絡上爆紅。在視頻裏,一小段激光脈沖從瓶口進入水瓶,高速攝像機記錄下激光在水瓶中運動的過程。這是一個以技術為標

世界有用的100個網站

網民需要在網上找到能包含自己最感興趣的事,那麼Newsgator 和 Google Reader就是一個很好的選擇。免費版本提供250MB的儲存空間,並且支援POP3 和SMTP標準,因而網民從中可以獲得一個很好的郵件程式和網路通道。Reciva做的事情也是一樣,但是如果你購買了它的網路收音

西班牙海灘驚現外形奇異“怪物” 疑似世界大的水..

阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。 對此,阿里表示,該文完全捏造事

為何中國女性是世界成功的女性?

阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。 對此,阿里表示,該文完全捏造事

世界優美的10個數學公式

英國科學期刊《物理世界》曾讓讀者投票評選了“最偉大的公式”,最終榜上有名的十個公式既有無人不知的1+1=2,又有著名的E=mc2;既有簡單的圓周公式,又有複雜的尤拉公式……從什麼時候起我們開始厭惡數學?這些東西原本如此美麗,如此精妙。這個地球上有多少偉大的智慧曾耗盡一生,才最

美專家:俄軍T90是世界致命坦克 中國也很關注

“90後”女大學生放棄北大保送復旦!她到底有多厲害?  東北網12月6日訊(記者 姜姍姍) 在東北農業大學有這樣一個自強不息的女大學生,她放棄北大直博被保送到復旦大學藥學院。她本科期間獲得國家獎學金、國家勵志獎學金、新東方自強獎學金、第一屆全國大學生生命聯賽國家二等獎……被評為黑龍江省“三好學生”。她就是生命

程式設計師是世界適合談戀愛的人了

網友評論 @昔我往矣楊柳依依xavier:但是他們永遠也找不出來![喵喵] @貓來撲倒:他們的錯通常是“找不到物件”,”類不匹配”導致的“崩潰”[doge][doge][doge] @w_do:拉倒吧. 我們會錯?? 是你電腦有問題, 是你操作不對, 是你要多試幾次, 是你看錯了, 是隔壁

Brave瀏覽器 —— 一個當今世界快的瀏覽器

給大家安利一個當前世界上最快的新瀏覽器 ,Brave獅子王瀏覽器! 如果你經常瀏覽網頁,你一定能體會到開啟一個網頁比尋常時候快了幾秒鐘是怎樣一種體驗,一個優秀的瀏覽器不僅能為你帶來流暢的體驗,還能為你節約一定的時間。 一直以來我都是chrome瀏覽器的粉絲,因為ch

非常好用 世界快最好的視訊壓縮轉換工具(精品)

                測試了20多款 各種視訊壓縮 擷取軟體 真的是這款最快 快好用 效果也好!!!最快的視訊轉換壓縮工具。WisMencoder 能夠把您的電腦上的所有視訊格式,包括avi,mpg,rmvb,wmv,mp4,mov,dat等格式以最快的速度和最高的質量轉換為AVI格式。速度和質量都

Go 語言發展史及史全 Go 語言知識圖譜!

Go 語言發展史http.HandlerFuncgolang.orgbuild dashboar