X(Twitter) Zenn GitHub RSS 共有

DSL

作成日時:2024-08-01以前
更新日時:2024-08-28

ドメイン固有言語 (DSL, Domain Specific Language) は、特定のタスク向けに設計されたコンピューター言語。

外部DSL:正規表現、SQL、JSON
内部DSL:汎用言語に寄ったもの。LINQ、アノテーション。

ポイントは「特定のタスク向けに設計」
ライブラリやフレームワークっぽければ内部DSL。

Springのapplication.ymlも、「Springアプリケーションの設定に特化している」ためDSLと言える。
build.gradleのGroovyもDSL。

DSLは自作しても、既存のフォーマットを使用してもよい。

チューリング完全(Turing-complete)

大雑把に言えば、「どんな計算(演算)でも実行できる」もの。

チューリング完全とは、ある計算モデルやプログラミング言語が、万能チューリングマシンと同等の計算能力を持つことを意味する。

チューリングマシン - Wikipedia