ライブラリ⇒フレームワーク⇒DSL⇒??
Ruby on Rails以降、DSLが流行り始めたり、Fluent Interfaceなライブラリが多く出てきた。言語の柔軟性とJava/.Net仮想マシンの台頭によって、人間にとって自然で読みやすい言語を誰でも作れる時代になった。
Make,grep,printfの書式,xml,正規表現,,,,
どれも自分は使う側だったけど、最近は一般的なプログラマでも普通に言語を作る時代になってきたのだろうか。
ライブラリ/コンポーネント「便利な機能を集めたから使ってね」
⇒フレームワーク「こことここをあなた用に書き換えればあとはやるよ」
⇒DSL「あなたがやりたいことはこう書けるよ。自然でしょ?」(いまここ)
⇒??
凄腕ハッカー?やLisperにとって、問題領域用に言語を作って、それでプログラムを構成するのは当たり前だったのだろうけど、一般人にも降りてきている気がする。なんでこんなに時間がかかったのだろうか?
Ruby on Railsの様に言語内DSLで頑張る作戦もあるけど、コンパイラ系も見ておきたい。ANTLRというのがlex/yaccに比べて便利らしい。変なポーズ?は気になるが、ANTLRWorksというIDEもあるし、Visual Studio育ちとしては取っ付きやすそうだ。とりあえず紹介されている本だけ買っとくかな
Leo's Chronicle 正規表現に見切りをつけるとき
あと,ANTLRのトップページから見つけたLanguage Design Patterns↓も少し気になる。2009/Middle発売とのこと。