Dart

程式語言

Dart([KK] 英语发音:/dɑrt/, [DJ] 英语发音:/dɑ:t/)是一种适用于万维网开放源代码编程语言,由Google主导开发,于2011年10月公开。它的开发团队由Google Chrome浏览器V8引擎团队的领导者拉尔斯·巴克英语Lars Bak (computer programmer)主持,目标在于成为下一代结构化Web开发语言。

Dart
编程范型多范式脚本面向对象基于类)、指令式函数式[1]
设计者Lars Bak英语Lars Bak (computer programmer)、Kasper Lund
实现者Google
发行时间2011年10月10日,​13年前​(2011-10-10[2]
当前版本
  • 3.6.0(2024年12月11日;稳定版本)[3]
编辑维基数据链接
类型系统可选类型
系统平台跨平台
操作系统跨平台
许可证BSD许可证
文件扩展名.dart
网站dart.dev 编辑维基数据链接
主要实现产品
Dart VM, dart2native, dart2js, DDC, Flutter
启发语言
CC++JavaTypeScriptRubyJavaScriptSmalltalkErlangStrongtalk英语StrongtalkC#[4]

类似JavaScript,Dart也是一种面向对象语言,但是它采用基于类的编程。它只允许单一继承,语法风格接近C语言

发展历史

2011年Google在丹麦奥胡斯(Aarhus)举行的“GOTO国际软件开发大会”预告将发布新网页编程语言Dart,是一种基于类的编程语言(class-based programming language),在所有浏览器都能够有高性能的执行效率。2011年10月10日Google宣布推出Dart的预览版。[5]

Google在dartlang.org公布Dart开发工具及源代码示例等内容,同时也提供相关虚拟机平台。目前Dart有三种方式执行:一是在原生的虚拟机上,二是将Dart代码转成Javascript,直接在Javascript引擎上执行[6],三是将其编译为可执行档并执行[7]

标准化

ECMA已经成立技术委员会TC52[8]展开标准化Dart的工作,同时由于Dart能够被编译成标准的JavaScript,它能够有效地在所有现代浏览器上运行。2014年7月,ECMA的第107次全体大会通过了第一版Dart语言规范。[9]

示例

Hello World范例:

void main() {
  print("Hello World!");
}

计算斐波那契数列次目函数:

// If int n > 2, return fib(n - 1) + fib(n - 2); 
// otherwise, return int 1 as result
int fib(int n) => (n > 2) ? (fib(n - 1) + fib(n - 2)) : 1;

void main() {
  print('fib(20) = ${fib(20)}');
}

匿名函数范例:

void main() => print(fib(3));
Function fib = (int n) => (n > 2) ? (fib(n - 1) + fib(n - 2)) : 1;

参见

参考资料

  1. ^ Kopec, David. Dart for Absolute Beginners. : 56 [24 November 2015]. ISBN 9781430264828. (原始内容存档于2016-04-20). 
  2. ^ Bak, Lars. Dart: a language for structured web programming. Google Code Blog. Google. [31 January 2016]. (原始内容存档于2016-07-13). 
  3. ^ Release 3.6.0. 
  4. ^ Web Languages and VMs: Fast Code is Always in Fashion. (V8, Dart) - Google I/O 2013. Google. [22 December 2013]. (原始内容存档于2018-12-25). 
  5. ^ Presentation: "Opening Keynote: Dart, a new programming language for structured web programming"页面存档备份,存于互联网档案馆) - GOTO Aarhus 2011 conference. Planned official presentation of the Dart language, on October 10.
  6. ^ Google推Dart語言,欲取代JavaScript?. [2011-10-19]. (原始内容存档于2011-10-13). 
  7. ^ dart compile. dart.dev. [2022-10-16]. 
  8. ^ TC52 - Dart. [2013-12-16]. (原始内容存档于2016-08-02). 
  9. ^ 存档副本. [2015-03-27]. (原始内容存档于2015-04-24). 

外部链接