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日,​14年前​(2011-10-10[2]
当前版本
  • 3.12.2(2026年6月9日;穩定版本)[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.12.2. 2026年6月9日 [2026年6月10日]. 
  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). 

外部链接

编辑


📚 Artikel Terkait di Wikipedia

杰克逊结构化编程

傑克森結構化程式設計(英語:Jackson structured programming,簡稱JSP)是一種結構化編程方法,以資料流結構及程式結構之間的對應關係為基礎。JSP會將程式及資料用序列(sequence)結構、迭代(iteration)結構及選擇(selection)結構的組合來表示,適合

Goto

地使用GOTO语句应当从高级语言中废止,因为它使分析和验证程序正确性(特别是涉及循环)的任务变得复杂。另外一种观点出现在高德纳的Structured Programming with go to Statements 中,文章分析了许多常见编程任务,然后发现其中的一些使用GOTO将得到最理想的结构。

JSP (消歧义)

JSP可以指: 傑克遜結構化編程(Jackson structured programming) JavaServer Pages,由昇陽電腦公司主導建立的一種動態網頁技術標準 日本社會黨(Japan Socialist Party) 猶太社區警察(Jewish Settlement Police)

结构化分析

結構化分析(Structured Analysis,簡稱SA)是軟體工程中的一種方法,結構化分析和結構化設計可以分析商業的需求(英语:requirements),再轉換為規格文件,最後再產生電腦軟體、硬體組態及相關的手冊及程序。 結構化分析及設計技術是系統分析的基礎,是由1960到70年代的系統分析技術發展而成。

Simula

R. Hoare. Hierarchical Program Structures. C. A. R. Hoare (编). Structured Programming. London, UK: Academic Press. 1972: 175–220. ISBN 978-0122005503

Unix哲学

(原始内容 (PDF)存档于2022-04-27).  Notes on Programming in C (页面存档备份,存于互联网档案馆) Knuth, Donald: Structured Programming with Goto Statements (页面存档备份,存于互联网档案馆)

结构化编程

結構化程式設計(英語:Structured programming),一種編程典範。它採用子程序、块结构、for迴圈以及while迴圈等結構,來取代傳統的 goto。希望藉此來改善计算机程序的明晰性、品質以及開發時間,並且避免寫出麵條式代碼。 結構化程式設計在1960年代開始發展,科拉多·伯姆(英语:Corrado

并行编程模型

Skeletons: Structured Management of Parallel Computation (PDF), University of Glasgow  J. Darlinton; M. Ghanem; H. W. To, Structured Parallel Programming (PDF)