MSのソフトウェアモデリングプラットフォーム「Oslo」の原点(2/2 ページ)

» 2008年09月10日 15時42分 公開
[Darryl K. Taft,eWEEK]
eWEEK
前のページへ 1|2       

MicrosoftのD言語

 Microsoftはさらに、Osloコンテンツの開発を促進するためにD言語を開発した。

 なぜ新しい言語が必要なのだろうか。「Osloの目標を達成するには、開発者の生産性に革命を起こす必要があったからだ」とMicrosoftのデベロッパー部門のディスティングイッシュドエンジニア、スティーブン・ラッコ氏は説明する。同氏はCSDのビジョンの開発およびOsloプロジェクトに協力した。

 「今日の開発者の世界は異常なまでにオブジェクト指向だ。データというデータはすべて、チューリングマシンであるオブジェクト内に埋め込まれるため、その中で起きていることを分析するのは不可能だ。これはSQLの世界とは極めて対照的だ。SQLの場合、データに対してさまざまな処理が可能であり、異なるプログラムが同じデータを利用することができる。そこでわれわれは“メインストリームプログラミングもSQLプログラミングのようにすることはできないだろうか。しかも、難しいと思われているSQLプログラミングのように難しくはならないようにしよう”と考えたのだ」とラッコ氏は話す。

 しかし、Osloを利用するのにD言語を学ぶ必要はない。「D言語は技術的に細かい処理を行いたい一部のユーザー向けだ」とラバリング氏は話す。

 D言語プロジェクトに詳しいボックス氏は「この言語を学ぶ必要はないが、テキストプログラミングを好む人は好きになるだろう」と話している。

 それどころか、このOslo言語は学ぶに値しないような「つまらない言語」ではないとラバリング氏は話す。「当社のデータベース部門のスタッフはこの言語で素晴らしい成果を上げ、Dynamics部門の連中はアプリケーションを実行するデータベースを実際に作成した。“長い間、こういうものが欲しいと思っていた”と彼らは話している」

 しかしラバリング氏によると、同言語を学習するというのは「技術的な活動」だという。「Visual Basicを使うよりも難しく、Excelを使うよりもはるかに難しい。効率的なC#プログラムを書くよりも難しいかといえば、必ずしもそうではない」と同氏は語る。

 Oslo言語は「斬新な型システムを備えた斬新な言語」だとラバリング氏は話す。同言語は構造型データを作成するのに適している。SQLを生成するので、「SQLを処理するための効果的な手段」でもあるという。

 Microsoftでは、Osloリポジトリのコンテンツを開発するのに同言語を利用している。ラバリング氏によると、Microsoftはこの言語をできるだけSQLに近づけたいと考え、T-SQL(Transact-SQL)を生成することも検討したという。「しかしT-SQLは利用するのが簡単ではなく、幅広いユーザーを獲得するのが難しいとわたしは判断した」と同氏。

 ラバリング氏はOslo言語の開発に際して、Microsoftの研究者の協力を得るとともに、データベースプログラミング言語に関する研究成果も活用した。LISPのほか、関数型言語のMLなども参考にしたという。

 「Oslo言語は、RDBMS(リレーショナルデータベース管理システム)を極めて重視してデザインされたため、非常にクリーンなマッピングを実現している」とラバリング氏は話す。「しかし同言語は、RDBMSやリレーショナルモデルに直結しているわけではない。実際には抽象的データモデルに対して構築されている。プログラム自体も、それと同じ抽象的データモデルで表現している。これは非常にLISP的な考え方だ。プログラム全体が、それが動作するデータ構造と同じなのである」

 ラバリング氏によると、Oslo言語は部分的にTLA+もベースにしているという。TLA+は、Microsoftの研究者であるレスリー・ランポート氏が開発者した言語である。

過去のニュース一覧はこちら

前のページへ 1|2       

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.

注目のテーマ