BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 外部DSL:成功と失敗の要因

外部DSL:成功と失敗の要因

ドメイン固有言語(DSL)に対する関心の高まり(参考記事リンク)を検討し、Michael Feathers氏は外部DSLを熟考し(リンク)、その利点と落とし穴および成功と失敗の考えられる要因について考察する。外部DSLは「自由裁量を提供し、完全な構文を作成し、直接特定のドメインに合わせることを可能にする」一方で、それらを使用している企業に対し重要な責務を意味している、ことを強調してい る。そして、この「責務は、最初の実装が完了しても、終わらない」。

外部DSLの特異性のために、かなりのメンテナンスコストがかかる。それは、DSLを採用し、変化を起こすための社内の専門知識であるべきだからである。同様の理由で、外部DSLを使用することは、雇用を複雑にする。具体的に言うと、ドメインエキスパートの雇用である。

仕事を探すとき、自分の履歴書に何が欲しいか?1社で正確に使用されている言語か、あるいは知られていて、業界を通じて使用されている言語か?[…]

よく知られている一例は、Erlangである。こんにちErlangへ注目が集まっているが、デベロッパを雇用し、教育することができるかどうかを懸念し ていたため、Ericssonが断念したことを忘れてはいけない。 Erlangについては多くの人が知っているが、業界においてこのシナリオがいかに一般的であるかは自覚されていない。自分の作業をしていく中で多くのレ ガシーコードを見かけるようになり、その多くが企業がサポートを受けている自家製言語である。

そこで、Michael Feathers氏は外部DSLに関して「成功は単にテクノロジーの作用にとどまらない」ことを主張している。客観的に企業が必要とされている責務を査定し「不利なビジネス条件のもと」においてさえもそれを見込める場合にのみ、その可能性はうまく利用される。その他に、Feathers氏は外部DSLの見込まれるコストを削減する方法について、考えをいくつか概説している。

  1. 外部DSLを作成している場合、それをオープンソースにすることを検討する。もしくは少なくとも、それに関する一種の業界グループのようなものを組織することを検討する。これによって、メンテナンスコストを一部外面化し、雇用の問題を避けることができる。
  2. DSLを外部に開放できない、もしくはしない場合、デベロッパがそれを独占的に使用しないようにする。そうでないと、同等のスキルのデベロッパにさらに高額の賃金を支払うことになる。話し合いでは、ほとんど知られていないテクノロジーのもと、作業するという代償を考慮に入れるであろう。

組み込みDSLを検討することが、もう1つの選択肢だと言える。というのは、作成者によるとそれは構築しやすく、外部DSLと同様のメリットがあるからだそうだ。

 

原文はこちらです:http://www.infoq.com/news/2008/12/external-dsl-advantages-pitfalls

この記事に星をつける

おすすめ度
スタイル

BT