DB設計が楽しいワケ
あるウェブサービスのDBスキーマを設計をしている。毎度思うのだけど、DB設計は楽しい。
なぜこんなにも楽しいのだろうかと思って考えたところ、DB設計はある意味「言語設計」に近いのではと思った。
言語設計も楽しい。
あるDSL(Domain Specific Language, ドメイン固有言語)を設計して実装した時は、それはもうエキサイティングだった。
そのDSLはテンプレート言語で、プログラマ向けでもデザイナー向けでもあった。HTMLエディタで書きやすいよう、なじみやすいよう、文法に配慮した。実装はトリッキーで、再帰的に出力結果をパースするという変わった実装で、うまく再帰して複雑な結果が出力されたときの快感といったらなかった。同じ出力を期待する部分は、コードキャッシュ的な機能で高速化した。爆速になった。痺れた。(その後そのDSLのフィードバックを得る機会が無くなってしまったので、他人の評価は不明)
DB設計がなぜ言語設計に近いと思うのか。
コーディングの仕方はDBの構造によって大きく変わる。それはそれは、大胆に変わる。
コーディングの仕方が変わるということは、言語が変わるくらいの影響...というと言い過ぎだけど、かなりある。プログラミング言語側に大きく影響するんだから、それはもう言語設計における文法設計の一部だと言える。
さらにDB設計は今後の自分の作業に大きく影響するし、自分以外のプログラマーにも影響する。自分のためでもあるし、他人のためでもある。ここも似ている。
で、だからどうなんだというわけでもなく、単純に「一見関係の無いAとBには共通点がある」という話が好きなだけです。
コメント / トラックバック