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