Dartプログラミング言語仕様書邦訳版

2012110(初版)

最新更新:2015年 1214日(ECMA-408 3版)

株式会社 クレス

 

 

PDF版はここから

ファイルが大きいのでInternet Explorerで取り込めないときは、右クリックして「対象をファイルに保存」を実行する

Open Office用のODT版はここからダウンロード

Microsoft Office用のDOCX版はここからダウンロード

解説書「プログラミング言語Dartの基礎」はここから

 

この資料はページ数が多いので、PDFではしおりを、ODTではナビゲータを、DOCXでは見出しマップを利用して読んで頂きたい。

 

この邦訳版はGoogleが公開している仕様書案のPDFHTML版と一部相違していることがある)を翻訳したものである。頻繁に改版されているので、その都度この翻訳も改訂してゆきたい。急いで翻訳しているので、その精度は保証しない。不明な箇所は原文を見て頂きたい。

 

Googleが開発中のDartプログラミング言語は、速報で紹介したようにソフトウエア技術者たちからの多くの議論や批判を呼んでいる。しかしながらこの言語が普及するかどうかはGoogleの市場力に大きく依存する。Net Applications社の市場シェア報告によれば、201112月時点でChromeは世界のデスクトップ市場で19.1%に、またAndroidブラウザはモバイル/タブレット市場でSafariに匹敵する15.9%へと増加している。またサーバ・サイドの大規模ウェブ・アプリケーションにおけるGoogleの影響力も大きいことを考えれば、今後の動向を十分注視すべきである。

 

DartJavaJavaScriptを使っている開発者たちには非常に馴染み易い言語であろう。Dartはクラス・ベースであり、構造化されたソフトウエア開発に適している。またDartは動的な型づけの言語で、型づけはオプショナルとなっている。型指定はコンパイル時に静的な型チェッカによってチェックされるが、実行時(非チェック・モード)では無視される。Javaとは違って単一スレッドであるが、並行処理はアイソレートを使って実現できる。

 

20131213日にGoogleECMADartの標準化のための新しい技術委員会TC52を設立したと発表した。GoogleはこのTC52を介してウェブのコミュニティと協働しこの言語の発展を推進すると述べている。TC52の委員長はGoogleデンマークのAnders Thorhauge Sandholmである。

2014313日に開催されたTC52会合の報告として、言語仕様書担当のGilad Brachaは次のように報告している:

  • 我々は1.2仕様書に少し手を加えたものをこの委員会に標準化のための言語仕様書案として提出する計画である。この委員会が承認すれば、6月末までに公式の標準ができる。

  • 次回会合はデンマークのAarhus51日に開催される。

  • 彼としては年末までにenums及びdeferred loadingを付加した改定版をまとめたいと考えており、これらの機能提案を5月の会合で提出する。

201472日にGilad Brachaは次のように報告している:

  • ECMA6月末の第107回全体会議で正式に1.3版を承認した。

  • TC52の第3回会合ではenums, deferred loading, async, and minor bug fixesが討議された。

  • 次回は916日にスイスで開催される。

20148月現在提案されている変更事項案はAsyncWaitおよびEnumsである。



ECMA 2

20141121日に1.6版のものがDraft: Dart Programming Language Specification, 2nd Editionとして公開されている。これはTC52で承認されたものだが、まだ全体会議では未承認のものである。第2版では以下のものが追加されている:

列挙型 (enum) 1.8版で実装済み

非同期関係(async, awaitほか) 部分的に1.8版で第1フェーズとして実装されている。

後回しのロード(import ... deferred as) 1.6版で実装済み

20141211日にSapporoで開催された第108回全体会議でECMA-408 2nd editionが承認された。



ECMA 3

015617日にMontreuxで開催されたECMAの総会では第3版が承認され、TC52の委員長の Anders Sandholmは次のように説明している:

「第3版での主たる追加はnullベースの演算子たちと一般化されたティアオフである。

nullベースの演算子たちで文法の短縮化をもたらす。例えば「安全なナビゲーション(safe navigation)」演算子の?.を導入したが、これはo?.m ではもしonullと計算されるときはnullを返し、そうでないときはo.mを返す。

一般化されたティアオフでは、我々は明示的な文法(#)を追加したが、これはこれた単にメソッドだけでなくコンストラクタ、演算子、ゲッタ、及びセッタもまたクロジュア化を可能とするものである。」



この仕様書を読む前に、以下のドキュメントを一読されることをお勧めする:

1.       Dart言語の概要

2.       DartAPI参照。ライブラリ参照ドキュメント。

3.       幾つかのコード・サンプル

4.       Googleの技術者たちによる記事