DSL(Domain Specific Language)

DSL(Domain Specific Language:ドメイン特化言語)とは、特定の問題領域(ドメイン)に特化して設計されたプログラミング言語や仕様言語のことです。

Contents

主な特徴

  • 特定の領域に焦点を当てた言語設計
  • 一般的なプログラミング言語(Java, Python, C++など)と比べて表現力は限定的だが、対象領域では高い効率性を持つ
  • そのドメインの専門家が理解しやすい語彙や抽象化を使用

代表的な例

  • SQL:データベース操作
  • HTML/CSS:ウェブページ構造とスタイル
  • 正規表現:文字列パターンマッチング
  • Makefile:ビルドプロセス
  • LaTeX:文書組版

メリット

  • 特定領域での高い表現力と生産性
  • ドメイン専門家でもプログラミング知識がなくても使える場合がある
  • 特定の問題に対する解決策をより簡潔に記述できる

タイプ

  • 外部DSL:独自の文法と構文解析器を持つ言語(例:SQL、HTML)
  • 内部/埋め込みDSL:既存の言語内に実装された特化ライブラリ(例:Ruby on RailsのActiveRecord)

DSLは特定のタスクを効率的に行えるよう設計されているため、そのドメイン内では非常にパワフルですが、汎用性は低くなります。

本郷喜千

この記事を書いた人 本郷喜千

インディ・パ株式会社 代表取締役。東証スタンダード市場上場企業(GreenBee株式会社)の社外監査役。著書5冊(うち生成AI関連4冊)。プロフィール

生成AIの講演と研修をお受けしています

金融機関、取締役会、管理職に向けた定番講演をお受けしています。

講演・研修の頁へ

Contents