BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Martin Fowler氏がOsloを語る

Martin Fowler氏がOsloを語る

長年の間、Martin Fowler氏はソフトウェアエンジニアリングの最前線にいる。リファクタリングや依存性の注入といった技法を社会に広めていることで称賛されている。ここ最近は、ドメイン固有言語(リンク)の普及活動をおこなっている。そこで当然のことながら、Oslo(参考記事リンク)が氏の興味を駆り立てた。

長所の面では、Martin氏はファイルベースのバージョン管理およびランタイムコンパイルを好むことについて感想を述べている。

こうしたものをリポジトリに格納する際に持ち上がる大問題の1つは、バージョン管理の取り扱いである。われわれのすべてが1つの共用データベースで協働するという概念は(共有ドライブでコードの1つのコピーを編集しているチームなど)、いいかげんだという感じを与える。その結果、このアプローチを提案する すべてのベンダーに対し、疑いの目で見がちである。通常のバージョン管理ツールを使用可能にする権限ソースとして、テキストファイルを扱うべきだと、 Osloチームは広く提案している。当然、多くのMicrosoft販売店にとって悪い知らせは、このツールがTFS(またはVSS)であることだが、 ソースとしてプレーンテキストファイルを使用することの利点は、多数のバージョン管理システムを使用して、それを格納することができることである。

全般的に気に入ったことは、ほとんどのツールがコードの生成やコンパイルではなく実行時の変換処理に集中していることである。従来、構文解析ルーチン生成 システムおよび多くの言語ワークベンチは、モデルを解釈するよりもむしろ、モデルからコードを生成することを仮定する。コードの生成は非常にうまくいく が、つねに扱いにくい感覚が付きまとい、あらゆる方法が足元をすくわれがちである。そこで、ランタイムを強調したい。

Martin氏は、用語の正式な定義をしていないが、言語ワークベンチ(リンク)に関するやや長めの記事を書いた。以下は、言語ワークベンチで氏が期待する特性の一覧である。

  • ユーザは互いに完全統合される新たな言語を自由に定義することができる。
  • 情報の主なソースは、持続的な抽象表現である。
  • 言語設計者は、DSLを主に3つのパートで定義している。スキーマ、エディタそしてジェネレーターである。
  • 言語ユーザはプロジェクショナルエディタを通じて、DSLを操作する。
  • 言語ワークベンチは、抽象表現で不完全な情報または相反する情報を持続することができる。

Martin氏は今後のOsloに大きな不安を抱えている。それは最近のLINQ to SQLの暴落(参考記事)に反映される不安である。

この比較で特に興味深い点は、OsloとMicrosoftのDSLツールとの比較である。 それらは多くの重複がある、異なったツールである。両方存在する余地があるかどうか考えさせられる。「それらは適合する」という曖昧なフレーズを聞いたこ とがあるが、まだ確信が持てない。半ば競合している複数のプロジェクトが開発されているような(大企業でよくある)状況の1つであるかもしれない。結局 は、棚上げにされる可能性がある。しかし、これが企業政策に大いに依存しているとは推測しがたい。それゆえに率直な返答を得るのはほとんど不可能である (仮に、それができたとしてもそれが率直な返答であるかを見極めるのはそれ以上に難しい)。

Olsoの解説(リンク)を以下のように、しめくくっている。

ほんの数時間であったので、広範囲の判断はできない。しかしながら、非常に興味深いテクノロジーらしいということはできる。それに関して気に入っていることは、言語ワークベンチを使用する絶好の道を提供しそうだという点である。すべてのことが決して終わらないLonghornについて約束されたことを忘れ てはいけないが、Microsoftがそれを支援することは、大事なことである。しかし、全体として見れば、これは言語ワークベンチシーンにとって興味深い追加であり、DSLをより広めることができるツールであると思う。

 

原文はこちらです:http://www.infoq.com/news/2008/11/Martin-Oslo

この記事に星をつける

おすすめ度
スタイル

BT