Google、新Webプログラミング言語「Dart」発表 - JSの置き換え狙い

 

Dart: Structured web programming

Googleは10月10日(米国時間)、新しいプログラミング言語「Dart」を発表した。

DartはWebアプリケーションの開発を主眼においたプログラミング言語。クラスの機能を有するとともに、型付けが自由という特徴がある。型を付けずに利用することも、型を指定して利用することもできる。

int fib(int n) {
  if (n <= 1) return n;
  return fib(n - 1) + fib(n - 2);
}


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

上記ソースコードはDartのサイトに掲載されているフィボナッチ数列を計算するサンプルコード。よく使われるプログラミング言語のシンタックスに似ていることがわかる。また、次のサンプルの様にクラスを定義しての利用も可能。

class Point {
  Point(this.x, this.y);
  distanceTo(Point other) {
    var dx = x - other.x;
    var dy = y - other.y;
    return Math.sqrt(dx * dx + dy * dy);
  }
  var x, y;
}


main() {
  Point p = new Point(2, 3);
  Point q = new Point(3, 4);
  print('distance from p to q = ${p.distanceTo(q)}');
}

Dartは専用の仮想マシンで実行させることができるほか、JavaScriptへコンパイルしてブラウザなどで動作させることも可能。ChromeではDartの仮想マシンそのものをブラウザに取り込むことも検討しており、将来的にはDartのバイトコードを直接実行できるようになる可能性がある。

DartはJavaScriptが解決できなかった問題を解決する取り組みとして興味深い。JavaScriptは歴史的な背景もあり、スニペットレベルでの利用には便利だが、大規模システムの開発には向いていないという特徴がある。オブジェクト指向の要素を取り入れて大規模システム開発向けの言語へ転換させる取り組みもあったが、最終的に現在のJavaScriptをベースに機能を拡張する路線で各ベンダは協調体制を取っている。

DartはこうしたJavaScriptが妥協した点の解決に乗り出しているところが興味深い。まず、言語がクラスベースになっている点。クラスベースシステムは大規模アプリケーション開発において扱いやすい。しかも、クラスなしでも開発できるようになっており、スニペットレベルの扱いやすさも残している。

さらに型の指定を自由にした点もポイントとなる。型はコンパイル時の最適化や実行時の最適化などで重要な役割を担う。セキュリティの観点からも型が指定されていた方が好ましいことが多い。型付けを自由にしたことで、スニペットレベルでの利用では使わないで、大規模アプリや、あとからアプリが大規模化してきた時に改めて指定できるようになっている。数行程度の小さい利用から大規模アプリケーションまで、双方ともにカバーする仕様になっている。

Googleはプログラミング言語「Go」を発表している。GoがC言語を置き換える目的を持っているとすれば、「Dart」はJavaScriptの置き換えを狙ったプログラミング言語といえる。「Go」がGoogleのプロダクトでサポートされたように、「Dart」もGoogleのプロダクトへ順次投入されていくものとみられる。

関連キーワード


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

イラッとされている後輩社員の特徴
[07:00 8/28] シゴト
外国人に母国のゴキブリ退治法を聞いた - 「ハンマーだと一撃で殺せます」
[07:00 8/28] ライフスタイル
ドラマ「逃げ恥」百合ちゃん役は石田ゆり子!風見は大谷亮平、沼田は古田新太
[06:00 8/28] ホビー
小島瑠璃子、ついにドラマ初挑戦!主演の柄本佑と“グルメ”で事件解決
[06:00 8/28] エンタメ
寺尾聰主演『仰げば尊し』すい臓がん、元問題児の留学…揺れる吹奏楽部の行方は
[06:00 8/28] エンタメ

求人情報