Google的Dart語言能成功取代JavaScript嗎?

發表於2011-09-15

注:本文轉載自iteye

近日,Google的新程式語言Dart逐漸浮出水面,它是一種“結構化的Web程式設計”語言。有傳言它類似於JavaScript,或者可以直接說準備與JavaScript競爭。國外RebuildingTheWeb部落格對此進行了分析,它引用了XHTML2的前車之鑑,認為Google要讓開發人員認可Dart,就應該採取一個更開放的態度。

全文如下:

Google正在開發一種稱為“Dart”的程式語言,其最終目標是為了取代有幾個不能修復的根本問題的JavaScript。此外,Dart被設計用來完全脫離JavaScript,因此它沒有對JavaScript向後相容。這樣一個激進的技術變更能夠在Web上獲取成功嗎?

Dart的根本改變會分裂Web嗎?

多年以來,瀏覽器提供商告知我們Web技術必須平穩地進步。不然的話Web就會被分裂。這個爭論終結了XHTML2的發展。XHTML2是一種標記語言,其原本是用來替換同樣有著不能修復的根本問題的HTML。與XHTML2背離HTML一樣,Dart同樣背離了JavaScript。Dart會像XHTML2那樣分裂Web嗎?或者我們已然接受向後相容性必須內建在瀏覽器中,但不必在程式設計/標記語言中?

JavaScript存在問題嗎?

在過去幾年,由於其巨大的效能改進,以及新增加的庫和API,JavaScript收穫了不少好評。JavaScript已經這樣棒,為什麼我們還要替換它呢?

最嚴重的問題在於,JavaScript應用程式天生就是不安全的,對惡意攻擊及資料竊取非常脆弱。JavaScript缺少豐富的特徵類庫,例如Java與.NET中的高階繪圖功能、編碼、加密,以及網路通訊功能等等。

JavaScript應用程式通常構建於鬆散耦合的技術,且常常不是由傳統的程式設計師去編寫。這不可避免的後果就是產生“義大利麵條式”的程式碼。這些程式碼往往很複雜、混亂,充斥著瀏覽器版本/bug問題或是技術缺陷。

程式開發的大多數時間(以及大部分費用)都消耗在了除錯上。建立一個類似Visual Studio的整合開發環境(IDE)或是面向JavaScript應用程式的Xcode都是不可能的。這就使得除錯此類的JavaScript應用程式比同等的桌面程式要困難得多。此外,JavaScript是一種解釋性的鬆散型別的語言,同樣增加了其除錯的複雜度。這也意味著開發一個成熟的JavaScript程式需要更多的開發人員、更多的時間以及金錢。

技術能夠決定Dart的未來嗎?抑或鬥爭?

倘若Google的Dart技術上優於JavaScript,這個孤單的事實能夠促使它成功嗎?還是說Google對該技術的期望將成為泡影?Google的Dart會面臨W3C的XHTML2同樣的命運嗎?

Google Dart其實有著一個糟糕的開始。主要的問題在於Dart是由一個單一的廠商開發的。Google打算不會在這個問題上糾結,否則早就與其他廠商合作開發該技術。就算Google承認其他瀏覽器商的支援是非常重要的,它打算用“甜言蜜語”鼓勵他們支援這個新的程式語言。但是對應用開發人員,他們可曾會接受?開發人員畢竟才是需要學習一門新語言及其相關的新工具的群體。

結尾

Google Dart旨在取代JavaScript,同樣XHTML2原本也是被設計用來代替HTML。JavaScript確實有著不能修復的技術問題,因此需要一個真正完善的語言來取代它。但是Google的單邊主義、非協商方式表明了Dart必然要受到一些懷疑,在說服應用開發人員擁抱Dart上的挑戰是不可避免的。

 

相關文章