眾家評說Google新程式語言Dart

發表於2011-10-13

注:本文轉載自CSDN

10月10日在丹麥舉行的Goto會議上,Google Dart語言專案的領導人Lars Bak宣佈推出程式語言Dart。Lars Bak表示,Dart是一種“結構化的Web程式設計”語言,Dart程式語言在所有現代的瀏覽器和環境中提供高效能。

結構化的Web程式語言

Dart程式碼可以用兩種不同方式執行:一是通過一個原生的虛擬機器;另一種則是JavaScript引擎,使用編譯器將Dart程式碼轉換為 JavaScript程式碼。也就是說,你可以使用Dart編寫一個Web應用程式,並在任何現代瀏覽器上編譯及執行它。雖然目前Dart VM尚未整合至Chrome中,但已在研究計劃之中。

 Google欲通過Dart取代JavaScript

Google表示,新的語言將幫助開發人員建立一個結構化的和靈活的Web程式語言,使Dart語言成為程式設計師熟悉和自然的語言並且很容易學習,Google已經在 開源軟體庫dartlang.org網站上提供其語言和開發工具,詳細介紹這個平臺如何適合一個人的小型團隊到大型專案,通過本地虛擬機器執行的程式碼或者在 JavaScript引擎上執行程式碼。JavaScript引擎可以把Dart程式碼翻譯為JavaScript。

Dart的設計目標

  • 建立一個結構化又富靈活性的Web程式語言。
  • Dart對程式設計人員應該是熟悉而自然的,易於學習。
  • 在所有現有瀏覽器和各種環境(從小型的手持裝置乃至伺服器端實現)中確保實現高效能。

Dart考慮了一系列的開發場景:從沒有太多架構的個人專案至程式碼中需要加入正式型別以便說明程式設計師意圖的大型專案。為了支援這些廣泛的大型專案,Dart提供了許多可選的型別,在編碼時你可以先不用考慮型別而在需要的時候新增它們。

究竟,Google推出程式語言Dart,能否在這百家爭鳴時代打造一片豔陽天呢?來看看大家對它的評價.

Google工程師Bracha的部落格:
其先表達了對Javascript的不滿,然後提出網際網路需要繼續進化,另外就是需要能夠利用上多核心處理器的效能。他還說:Javascript依然是一個對平臺部署來說有著嚴重限制的語言。

Reddit上有人評論:
我不理解為什麼人們非要跟著Google幫他們用自己的技術去取代現有的技術。他們總是承諾“我們必須嘗試新標準”,但他們自己的技術目前為止沒有任何一樣成為標準:

Google不喜歡MPEG,於是推出了VP8。但打一開始他們就沒在將其打造成一個真正的開放標準上做任何努力。

Google不喜歡HTTP,於是推出了SPDY。但現在只有Chrome和Google的網頁應用支援,目前也沒有任何跡象能成進入標準組織。你可以想象微軟的IE自己鼓搗了一套HTTP標準然後只和微軟自己的IIS服務通訊嗎?

Google不喜歡所有非IE瀏覽器的NPAPI外掛模型,於是推出了完全不相容的外掛API和原生程式碼的Native Client

Google不喜歡JPG和PNG,於是推出了WebP圖形格式

而現在Google又開始不喜歡Javascript了,於是推出了Dart

估計接下來Google還會不喜歡CSS甚至是HTML。

ITeye社群專家:
Web技術日新月異,HTML5/CSS3是一個全新的春天,但JavaScript則已近20年,沒有很大的變化。如果Dart真是神器,有著JavaScript難以匹配的應用場景,那麼Web完全可能再次加速,推枯拉朽,一個新的時代可能加速到來。

只是,Dart到底是什麼?Google也搞得太神祕了,從目前的網路資訊來看,什麼有價值的資訊也沒有透露出來。我倒是很期望Dart能夠如同Smalltalk一樣,能夠在網頁開發中提供一個完全互動的、增量式的開發模型,我想對開發效率的提升將無與倫比。反之,純粹從語言的角度來看,實在想不出能夠有什麼革命性的突破。

CSDN技術專家:
在近幾年出現的JavaScript引擎, 如TraceMonkey,谷歌V8,還有微軟在IE 9中使用的Chakra引擎,其圖形渲染,底層API呼叫的能力已經到達了峰頂,瀏覽器再次效率的提升已經接近了效能優化的極限,在效率上可以提升的空間已經不多。如今可以說:JavaScript語言的效能已經足夠快了,已經達到了極根了,如果想要再次提升效率,必須要用傳統的的像 Java,C#,C++這類靜態語言,JavaScript這類動態語言的執行速度完全勝任不了未來Web的主流,看來Google是早早地就想到了,這與谷歌稱霸Web是相悖逆的,所以大家趁早歸附”新的Web程式語言Dart”,這才是明智之舉。

微博網友PPTV宋嵬
Google正式正式釋出了Dart語言,貌似是JavaScript的替代品。看看下面的程式碼,是不是很熟悉:整個就是一個Java框架,C++ 小區域性混搭的MINI版JAVA。很看好這個語言。幾乎沒有任何障礙,一般的java程式設計師花1個小時看看語法,就幾乎能夠無障礙的上手開發了。

微博網友Eleven_vv評論:
想當初Google釋出Go語言時,也認為Go可應用到伺服器軟體外的其他領域,包括在瀏覽器內執行軟體,取代目前JavaScript的角色。而從其力推HTML5、一再發布Go、Dart來看,Google志在成為Web革新者的目的不言而喻。

CSDN博主
簡單的看了一下官網的說明,給我初步體驗的感覺是Dart是Java和 javascript結合體的樣子,然後又圍觀了一下他的core library,給自己帶來了不少的驚喜,很好的封裝了Queue Collection等強大的集合以及資料結構,而且有match這樣的匹配表示式的類,總之,就是一個開發Web程式的利器。

結束語:

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

Dart如果真的像是解釋性Smalltalk語言的話,它幾乎將直接與JavaScript和Python競爭。如果將“Go”語言作為衡量標 準,Dart其實更像是一個新奇小玩意,而不是什麼開拓性的工具。它可能只是為了解決“以Google為中心”的問題,而不是旨在成為一種流行的程式語言。目前, 人們還不清楚它的定位,還是讓我們拭目以待吧。

 

相關文章