« 2012年5月のアクセスランキング | Main | GitHubの「今月の人気プログラミング言語」をGoogle BigQueryで解析、1位JavaScript、2位Java、3位Ruby »

新言語JSX登場、JavaScript+コンパイラ技術でWebプログラミングの実行速度と生産性を向上

DeNAの奥一穂氏らが開発した新プログラミング言語「JSX」が公開されました。JavaScript実行環境をターゲットとするコンパイル言語で、Webプログラミングの実行速度、生産性・品質を向上させることを目的としています。

benchmarks

JSXは、MITライセンスによりオープンソースとして公開しています。コードのコンパイルや実行を試せるWebサイトも開設されています。

奥氏は、PalmOS向けブラウザ「Palmscape」やサイボウズ・ラボ時代に開発したメッセージキュー「Q4M」などで知られるプログラマです。

JSXは「Webブラウザ用プログラミング言語」で、JavaScriptより速く、開発効率が良く、高品質を目標として作られました。 JavaScriptはWebブラウザ上の標準言語で、HTML5の時代の標準言語でもあり、実行環境が広く普及しています。ただし弱点があります。生産性が低いこと、成果物の品質が低いこと、遅いこと、メモリ消費が多いこと・・

そこでJavaScriptに静的な型変換機構を追加し、JavaScriptへの変換時に最適化する独自のプログラミング言語JSXを新たに開発しました。ポイントは、静的型付けによりプログラミングするためバグを発見しやすいこと、そしてコンパイル時に最適化を適用できることです。インライン展開、定数畳み込み、リンク時最適化を実装しているとのことです。

JSXと似た目的のツールやプログラミング言語として、Google Web Toolkit、Google Closure Compiler、Dart、ActionScript3があります。JSXは、これら既存のツールや言語と違い、すでに広く普及しているJavaScriptを実行環境として使いながら、生産性、品質、速度の向上を実現する点が特色である、としています。

JSXのWebサイトには、アニメーション効果などの高速性を示す実例が掲載されています。

shooting

Webの大手企業がいずれもHTML5を推進していることから、プログラム実行環境としてのJavaScriptの重要性は高まる一方です。それに伴い、大規模開発や長期にわたる保守といった、JavaScriptというプログラミング言語の当初の想定を越えた使い方をしなければならない局面も出てきそうです。JSXはこうした問題点に対して、コンピュータサイエンスが蓄積してきたコンパイラ技術の力を使って現実的な解を与える試みといえそうです。

最後に筆者の感想です。JSXは静的型付けにより開発時にバグ発見がしやすくなる、という特性がある訳ですが、IDE(統合開発環境)サポートがあるとこのメリットがより生かせるのではないかと感じます。Eclipseプラグインのようなツールが登場するとさらに魅力が上がりそうです。

追記:

開発者によるBlogエントリが公開されました。JSXのインライン展開の効果をコード例を挙げて説明しています。

|

« 2012年5月のアクセスランキング | Main | GitHubの「今月の人気プログラミング言語」をGoogle BigQueryで解析、1位JavaScript、2位Java、3位Ruby »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 新言語JSX登場、JavaScript+コンパイラ技術でWebプログラミングの実行速度と生産性を向上:

« 2012年5月のアクセスランキング | Main | GitHubの「今月の人気プログラミング言語」をGoogle BigQueryで解析、1位JavaScript、2位Java、3位Ruby »