Translate-CS 板


LINE

原文網址:http://highscalability.com/blog/2013/3/20/ dart-is-it-the-future-of-the-web.html 譯文網址:http://blog.dontcareabout.us/2013/03/dart-web.html BBS 版以 markdown 格式撰寫 ______________________________________________________________________ [John McCutchan] 有很長一段職場生涯是在 Linux kernel 領域, 現在以程式碼最佳化大師的身份被挖去 Google 的 Dart 團隊。 這轉折還蠻令人好奇的,直到你看到這個影片: 〈[透過 Dart 將 SIMD 帶進 web 領域]〉。 John 說了同行都能懂的理由,他喜歡 Dart 有三個原因: 效能、效能、還是效能。 [John McCutchan]: http://www.linkedin.com/pub/john-mccutchan/3/b32/755 [透過 Dart 將 SIMD 帶進 web 領域]: https://www.youtube.com/watch?v=CKh7UOELpPo
[Dart] 是 [Google 開發出來] open source 的 web 程式語言。 Dart 有兩個動機:複雜的 web application 已經變成常態(想想 GMail), 要能提供一種語言來應付這些需求。 另外,提供一種語言可以同時在 client 與 server 端運作。 以這些目標來說,Dart 是一個完整的語言、整套的開發環境、 並提供先進的 web UI framework 讓你可以用高度抽象化的方式建構 web application。 [Dart]: http://en.wikipedia.org/wiki/Dart_(programming_language) [Google 開發出來]: https://code.google.com/p/dart/ JavaScript 不夠好嗎?對大型 web application 來說, JavaScript 的本質有嚴重的缺陷而無法作某些效能上得改善, which will cause web apps to lose out to mobile apps. 先別急著抗議,Dart 是一群[作 V8] 的人創造出來的, 他們把 JavaScript 的經驗帶進 Dart 中了。 [作 V8]: http://javascriptjabber.com/ 008-jsj-v8-and-dart-with-lars-bak-and-kaspar-lund/ John 的論調是「web 不快」——儘管這跟很多主張相反。 舉例來說,比較 C 跟 web 上 2D 物理引擎的效能, web 版比 C 慢了 20 倍、Java 比 C 慢了 2 倍。 (謎之聲:Java 躺著也中槍) 由此可知 browser 速度不快。 Dart 跟新的 library 可以縮小這個差距, 讓 browser 可以開發出高效能的 application。 你可能會想知道成千上萬個 web framework 中到底要用哪一個, Dart 也許不在你的主要候選清單上。 如果是這樣,請看這個很棒的[影片][透過 Dart 將 SIMD 帶進 web 領域]。 你為甚麼會喜歡 Dart?下面是 John 的理由: * 喜歡 Dart 的結構與 static type 檢查。 Dart有一個 type 系統,神奇的是, type 系統是給工具用的,不是語言本身的特性。 * class base 與物件導向。JavaScript 太有彈性了。 * 關鍵字:`this`。跟 JavaScript 不一樣, 當你使用 `this`時,你知道你用的是哪一個東西。 * 一定要有分號。 * 效能。Dart 用比 JavaScript 嚴格的設計換取執行效率。 * 為了 Dart 跟速度而重新撰寫的 VM。 * Dart 中所有的 object 都有一個 static shape。 在 JavaScript 裡頭,你可以在任何時間點把 field 加進 class 中, 這讓 class 的 instance 無法最佳化。 在 Dart 裡頭不會讓你這麼作。 請記得,Dart 比 JavaScript 嚴格。 * array 當中不會有空格。 在 JavaScript 當中,element 可以加到 array 的任何地方, 這表示他會轉換成 map、index 的值就是 key 的值。 array 會變得稀疏(sparse)、散佈在記憶體當中, 對效能來說是很糟糕的事。 Dart 不會讓你這麼作。 * 區分可變大小與固定大小 array。 如果你事先知道一個 array 的大小,你可以把它指定成固定大小。 這樣可以讓 Dart 有更多最佳化的可能。 * 不會再有 prototype chain 了。巨大的成功阿! 在 JavaScript 當中你會發現 method 依循著 prototype chain 來執行。 在 Dart 中,你取得 class ID 然後殂那個 class 當中得到 function。 這會非常快。 * Dart 同時有 integer 與 double 型態。 integer 運算起來比 double 快 3~4 倍。 JavaScript 讓所有數字都變成 double 而付出不必要的代價。 這個演講的其餘部份是關於他把 SIMD 移植到 Dart 上,也很有意思。 SIMD 的意思是 Single Instruction multiple data, 這代表對 array 的資料操作會是平行處理、而不是一次只拿一小份。 在 3G 圖形、3D 物理、影像處理、信號處理、數值處理領域會變得非常快。 也就是說,browser 上頭的效能可以跟 console 一樣。 這篇文章只是簡短的評論 Dart,其餘 SIMD 的部份請看影片吧。 Dart 有未來嗎? ------------- Dart 要贏,就要提供速度方面的改善, 讓其他 application 處於明顯的競爭劣勢, 而不僅止於跟大量影像相關的 application。 如此一來 JavaScript 的 interpreter 需要迎頭趕上、 不然開發人員就會被迫轉移陣營。 But this is not an area where Google can get customer wins just by being Google or by being marginally better.(譯註:翻譯不能)。 又小又怪的 JavaScript 可愛多了, JavaScript 的生態圈也很可愛、而且十分強大。 Google 在其他領域參與 JavaScript 的生態圈可能會在這個點上頭跟自己打對台。 (譯註:最後的「Related Articles」沒有翻) -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.4.190
1F:推 yauhh:感謝大大無私的分享 03/28 21:35
2F:推 saxontai:web 版筆 C 慢了 20 倍 → web 版比 C 慢了 20 倍 03/28 22:18
感謝指正 ※ 編輯: PsMonkey 來自: 114.25.4.190 (03/28 22:25)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP