InfoQ: DSL Evolution for Groovy Developers

数日前に InfoQ に掲載された Peter Bell さんによる DSL に関する講演ビデオです。 Groovy が中心ではありますが、DSL に関する多くの現実的な話題をカバーしていてとても役に立つと思います。 External DSL として Xtext や MetaEdit+ 等にも触れており、Internal DSL 寄りとはえとてもニュートラルな説明になっています。 DSL に関心をお持ちの方には是非ご覧になることをおすすめします。

  1. InfoQ: DSL Evolution for Groovy Developers
InfoQ: DSL Evolution for Groovy Developers

InfoQ: Groovy.DSLs (from: beginner, to: expert)

Paul King さんと Guillaume Laforge さんの二人による Groovy DSL の講演記録(ビデオ+スライド)です。 Paul King さんは他の場でも良くこの話をされているので類似のスライド資料を目にされた方も多いと思います。 Internal/Embedded DSL に分類され、当然 Groovy 言語に依存していますが、Java 言語に近い分多くの方にとって比較的入り易いと思います。

  1. InfoQ: Groovy.DSLs (from: beginner, to: expert).

DSL の潜在的な問題点は、同じ領域をカバーする複数の DSL が出てきた時どう対応するかというメタモデルの乱立と同じような話だろうと思います(自然淘汰されるのか、共存共栄できるのか、微妙なところです)。 現時点ではそこまで行っていないだろうと思われるため、早く手を付けて良いものを設計・公開することが望まれます。 またホスト言語をどれにするか(この例では Groovy)を決断することも重要なポイントです。

InfoQ: Groovy.DSLs (from: beginner, to: expert)

Groovyについて

音楽の話ではなく、プログラミング言語の話です。 Javaは使えるけれどGroovyは知らないという方もおられるかもしれませんので、JGGUGの中心メンバの一人の上原さんのスライド(slideshare)をご紹介します。 興味深い内容がつまっています。

  1. Easy Going Groovy(Groovyを気軽に使いこなそう)

しばらく前の

  1. Writing Domain Specific Languages (DSLs) using Groovyについて

というポストで紹介した Groovy を使った DSL 作成のスライドのなかでも Groovy 言語の紹介はありましたが、こちらは日本語のスライドですのでもっと入り易いと思います。 個人的には言語の名前の一部に “Java” を入れておけばもっと早く広まっていたのではと思っています。

Groovyについて

Writing Domain Specific Languages (DSLs) using Groovyについて

Paul KingさんがSlideshareに公開されているスライドの紹介です。先月のJavaOneで講演された時の資料のようです。

  1. Writing Domain Specific Languages (DSLs) using Groovy

SuperJava とも言える Groovy 言語でDSLを作成するというスライドですが、最初の部分はDSLの紹介になっています。途中からGroovyでのDSL作成の話になる152枚もの大作スライドです。プログラミング言語に近いDSL(Internal DSL)作成の一例として参考になると思います。

Writing Domain Specific Languages (DSLs) using Groovyについて

Design Your Own DSL with Groovyについて

InfoQの記事(というかScreen Cast)で、Groovy言語についてのものです。 「Eclipse Community Awardsについて」のポストでGroovyに触れたのですが、余りご存じない方にはこういった Screen Cast も入り易いかもしれないと思いご紹介してみようと思いました。 ただちょっと時間が長い(90分程度)ため、時間のある時を見つけてご覧ください。

  1. Design Your Own DSL with Groovy

なおタイトルは Groovy で DSL を設計するというものですが、前半はGroovy 言語の説明が中心で後ろの方で DSL の話が出てきます。 ちなみに Groovy のホームページは以下にあります。

  1. Groovy
Design Your Own DSL with Groovyについて