编程范型 | 多范式:脚本、面向对象(基于类)、指令式、函数式[1] |
---|---|
设计者 | Lars Bak、Kasper Lund |
实现者 | |
发行时间 | 2011年10月10日 |
类型系统 | 可选类型 |
系统平台 | 跨平台 |
操作系统 | 跨平台 |
许可证 | BSD许可证 |
文件扩展名 | .dart |
网站 | dart |
主要实现产品 | |
Dart VM, dart2native, dart2js, DDC, Flutter | |
受启发于 | |
JavaScript、Smalltalk、Erlang、Strongtalk、C# |
Dart([KK] 英语发音:/dɑrt/, [DJ] 英语发音:/dɑ:t/)是一种适用于万维网的开放源代码编程语言,由Google主导开发,于2011年10月公开。它的开发团队由Google Chrome浏览器V8引擎团队的领导者拉尔斯·巴克主持,目标在于成为下一代结构化Web开发语言。
类似JavaScript,Dart也是一种面向对象语言,但是它采用基于类的编程。它只允许单一继承,语法风格接近C语言。
发展历史
2011年Google在丹麦奥胡斯(Aarhus)举行的“GOTO国际软件开发大会”预告将发布新网页编程语言Dart,是一种基于类的编程语言(class-based programming language),在所有浏览器都能够有高性能的执行效率。2011年10月10日Google宣布推出Dart的预览版。[2]
Google在dartlang.org公布Dart开发工具及源代码示例等内容,同时也提供相关虚拟机平台。目前Dart有两种方式执行:一是在本地的虚拟机上,二是将Dart代码转成Javascript,直接在Javascript引擎上执行。[3]
标准化
ECMA已经成立技术委员会TC52[4]展开标准化Dart的工作,同时由于Dart能够被编译成标准的JavaScript,它能够有效地在所有现代浏览器上运行。2014年7月,ECMA的第107次全体大会通过了第一版Dart语言规范。[5]
示例
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;
参见
- Flutter
- CoffeeScript
- Elm,一种编译到JavaScript的静态类型的函数式语言
- Fantom
- Go,另一个Google开发的语言
- Google Web Toolkit
- Haxe,一种可以编译到JavaScript和其它几种语言的语言
- Opa
- TypeScript
参考资料
- ↑ Kopec, David. Dart for Absolute Beginners. : 56. ISBN 9781430264828.
- ↑ 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.
- ↑ Google推Dart語言,欲取代JavaScript?. [2011-10-19].
- ↑ TC52 - Dart. [2013-12-16].
- ↑ 存档副本. [2015-03-27].
外部链接