マサチューセッツ工科大学(MIT)の研究者が、コードを「自動補完」してくれるプログラミング言語作りに取り組んでいる。
そのようなプログラミング言語の例としては、MITの電気工学・計算機科学部のArmando Solar-Lezama准教授が開発した、「Sketch」がある。Sketchは、コードのプログラマーが省略した部分を自動的に埋めてくれる。
米国時間12月23日、別のMITの研究者が、また違ったアプローチを披露した。ソフトウェア技術を専門とするAdam Chlipala教授は、この「Ur/Web」と呼ばれる新たなプログラミング言語を、ウェブアプリケーションを実行プログラムとして開発することを可能にする言語だと説明している。
Ur/Webのコンパイラは、必要なXML、スタイルシートの仕様、JavaScript、データベースのコードを生成する。これによって、これらの要素の相互関係や、データのやりとりを管理するという煩わしさを取り除いてくれる。
Chlipala氏は、Ur/Webはウェブアプリケーションを作成しやすくするだけでなく、より安全なものにすると述べる。
「ウェブページにカレンダーウィジェットを載せたい場合、カレンダーウィジェット機能を提供するライブラリを使用するだろう。また同じページ上に、広告ネットワークが提供するコードを使用した、広告ボックスもあるかもしれない。その場合、広告ネットワークがカレンダーの動作に干渉したり、カレンダーのコードの作成者が広告の配信を邪魔したりすることがないようにしたいはずだ」とChipala氏は言う。
Chliplala氏によれば、Ur/Webではプログラマーが定義する新たな変数は、C++やJavaのような本格的なプログラミング言語と同じく特定のデータ型のみに制限されているため、多くのウェブ開発フレームワークに存在する弱点を克服できるという。
「ユーザー名とパスワードを記録する内部データベースを、プライベートなものとして持つライブラリを書きたい場合を考えてほしい。その場合、アプリケーションのほかの部分は、パスワードの読み書きをできないようにしたいはずだ。ほとんどのウェブフレームワークでは、このスタイルはサポートされておらず、 プログラムのすべての部分が、データベースに自由にアクセスできてしまう」と同氏は述べた。
Chliplala氏によれば、現バージョンのUr/Webのコンパイラは自動的にXML、JavaScript、SQLのコードを生成するが、スタイルシートは作成されないという。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。