2011年9月30日金曜日

JavaScriptはダメで代替言語が必要?

このエントリーをはてなブックマークに追加
Clip to Evernote
Pocket

"Future of Javascript" doc from our internal "JavaScript Summit"と言うGoogleの内部文書が絶賛公開中となっている。JavaScriptは開発ツール、フレームワーク、速度の問題を抱えており、大規模開発はもちろん、小規模開発でも問題を抱えているそうだ。しかも、内在的な問題で大きな改善が望めない。ゆえに、新たなプログラミング言語が必要だそうだ。

1. JavaScriptには不完全な面が多々ある

JavaScriptは明示的な型が無い言語で、インタープリッタ型だ。当然、その分は遅い。オブジェクト指向プログラミングも可能と言われているが、当初はオブジェクトが無い言語であったため、貧弱な例外周りの処理は勿論、型チェックや隠蔽化、名前空間などのクラスを使いまわす環境は整備されていない。ゆえに、コーディングで混乱を生みやすい。主な利用用途であるブラウザー間でライブラリの互換性が取れていない部分もあり、フレームワークが乱立している。つまり、無用な気遣いが要る。マルチスレッドも原則として使えない。プロセッサ・パワーを活かしきれない。そもそも名前が変だ。

2. JavaScriptは広く普及して使われている

全体として言語仕様が簡潔な美しい言語でもある。ブラウザ以外にも、Adobe FlashやPDF等でも使われており、さらにライブラリも公開されているので容易に好きなアプリケーションに組み込む事ができる。速度の面では、近年もっとも改善が進んだインタープリッタだと言っても良い。そして、もっとも重要な事なのだが、JavaScriptと一緒に育ったプログラマが膨大に存在する。膨大なノウハウも共有されている。不明な事があっても、検索すればすぐに答えが分かるはずだ。

3. "Dash"で問題解決・・・それ、何?

問題のGoogleの内部メールには、"Dash"という新たなプログラミング言語について言及されている。JavaScriptと相互運用性があり、実行速度に優れ、オプション型を持ち(ActionScriptと同じ?)、セキュアで、ポータビリティな言語だそうだ。全く特徴が分からないが、JavaScriptの欠点を改善したものであるのは確かそうだ。しかし、WebOS Goodiesが色々とDashの情報を集めているが、全ては今後にならないと分からない。

4. Google言えども新言語の普及には苦戦する

もちろんChromeでJavaScriptの高速化に取り組んできており、主要サービスでJavaScriptを使いこなしているGoogleが、JavaScriptの長所を知らないはずがない。良く長所を知った上で、さらに問題を指摘しているのであろう。しかし、プログラミング言語を普及させるのは至難の技だ。愛用者が多い言語でも、少数派としか言いようの無いものは多い。Googleが作ったプログラミング言語Goだって、まだ流行しているとは言い難い。

JavaScriptには広く愛される理由があって、文化も育ってきている。これを置き替えるのはGoogle言えども不可能に思える。そもそもJavaScriptの主な活躍の場であるブラウザー市場で、Google Chromeは15%程度のシェアしかない。

0 コメント:

コメントを投稿