Dart
|
Dartのロゴ | |
| パラダイム |
マルチパラダイムプログラミング、オブジェクト指向プログラミング、関数型プログラミング、命令型プログラミング、リフレクション |
|---|---|
| 登場時期 | 2011年10月10日 |
| 開発者 |
Google |
| 最新リリース | 2.13.3 / 2021年6月9日[1] |
| 型付け | optional |
| 主な処理系 | Standalone VM, dart2js |
| 影響を受けた言語 |
Strongtalk、Java、JavaScript、Smalltalk、Erlang、C Sharp |
| ライセンス |
BSDライセンス |
| ウェブサイト |
dart |
| 拡張子 |
dart |
Dart(ダートもしくはダーツ。当初は Dash と呼ばれていた)はGoogleによって開発されたウェブ向けのプログラミング言語である。2011年10月10日 - 12日に開催された デンマークのオーフスで開催された「GOTOカンファレンス」[2]で公開された[3]。この言語は、ウェブブラウザ組み込みのスクリプト言語であるJavaScriptの代替となることを目的に作られた。
歴史[編集]
Dart言語はJavaScript言語にある解決できない言語上の問題点を解決し[4]、なおかつ、より優れたパフォーマンスを発揮し、大規模なプロジェクト用途にも耐え得る特徴を備え、セキュリティ面でもより優れた言語[5]として、設計された。Googleの技術者は「Brightly」というクラウド用統合開発環境を開発している。恐らくこれが最初のDart言語のアプリケーションだと思われる。GoogleはDart言語をサポートしないウェブブラウザのために、Dart言語で作られたプログラムをECMAScript 3に必要に応じて変換するクロスコンパイラを提供すると告知している。また、型付のClosureコードをDart言語に変換するツールも提供されることになっている[6]。GoogleはDartの仮想機械をChromeブラウザに統合するとしており、他のブラウザがこれに追従することを期待しているようであった。仮想機械とクロスコンパイラは2011年の末までには利用できる予定となっていた[5]。
しかし普及は進まず、2015年には仮想機械のChrome統合を断念。また2017年には、DartはGoogleにおいて重要な言語であるとしながらも、競合するTypeScriptがGoogle社内の標準プログラミング言語として承認されたことが発表された。[7]
2018年2月にはDart 2が発表された[8]。強力な型システムなどの言語機能の強化が行われている。
例[編集]
main() {
print('Hello World!');
}
フィボナッチ数を計算する関数の例
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
main() {
print('fib(20) = ${fib(20)}');
}
単純なクラスの例
// sqrt関数を呼び出すためにmathライブラリをインポート
import 'dart:math' as math;
// Pointクラスを定義
class Point {
// 2つのインスタンス変数を定義
final num x, y;
// コンストラクター関数
Point(this.x, this.y);
// 初期化リストを含む名前付きコンストラクター関数
Point.origin()
: x = 0,
y = 0;
//メソッド定義の例
num distanceTo(Point other) {
var dx = x - other.x;
var dy = y - other.y;
return math.sqrt(dx * dx + dy * dy);
}
// 演算子のオーバーローディングの例
Point operator +(Point other) => Point(x + other.x, y + other.y);
}
// すべてのDart言語のプログラムは main()関数から始まる
void main() {
// point オブジェクトの生成.
var p1 = Point(10, 10);
var p2 = Point.origin();
var distance = p1.distanceTo(p2);
print(distance);
}
関連項目[編集]
- Document Object Model (DOM) — HTML文書、XML文書中の要素を表現・操作するための技法
- プログラミング言語
- スクリプト言語
- JavaScript
- Go (プログラミング言語)
脚注[編集]
- ^ 出典URL: https://github.com/dart-lang/sdk/releases/tag/2.13.3, 閲覧日: 2021年6月21日, 題名: Release 2.13.3, 出版日: 2021年6月9日
- ^ http://gotocon.com/aarhus-2011/
- ^ Presentation: "Opening Keynote: Dart, a new programming language for structured web programming" - GOTOカンファレンス オーフス 2011。10月10日に行われた、Dart言語の公式の公演。
- ^ "Future of Javascript" doc from our internal "JavaScript Summit" last week - グーグル社内に流れた電子メール
- ^ a b Google Operating System: Dash, Google's Alternative to JavaScript
- ^ Google Dart to “ultimately ... replace JavaScript”
- ^ “TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー”. Publickey (2017年4月12日). 2017年4月15日閲覧。
- ^ “Googleが「Dart 2」発表、Dartを再起動。iOS/Android用ライブラリ「Flutter」と共にWebとモバイルのクライアント開発にフォーカス”. Publickey (2018年3月5日). 2018年5月5日閲覧。
- ^ Another Hello World example hosted in Github
外部リンク[編集]
- 公式ウェブサイト(英語)
- Google Dart to “ultimately ... replace JavaScript”(英語)
- 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.
- "Future of Javascript" doc from our internal "JavaScript Summit" last week(英語) - Leaked internal Google email.
- Infoq on Google Dart's feature set(英語)
- dartrefjp - Dart 日本語リファレンス[リンク切れ]
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||