DSL 設計
意義
VSeed は宣言型 DSL です
- DSL 設計はドメイン問題を表現する技術であり、複雑な問題を効果的に単純化できます。
- DSL は、慣れた人が母語を書くように自然にコードを書けるようにします。VSeed に慣れると、チャートのレンダリングは自然言語を書くのと同じくらい簡単になります。
VChart、VTableも同じです。
Tip
宣言型 DSL は「何であるか」(What)に注目します。期待する結果や最終状態がどのようなものかを記述し、コンピューター内部でその状態に到達する具体的な手順には関心を持ちません。
命令型 DSL は「どう行うか」(How)に注目します。明確で段階的な一連の指示を提供し、目標状態へどのように到達するかをコンピューターに伝えます。
VSeed の取捨選択
- ドメインへの集中(Focus)
一定の汎用性を犠牲にし、特定ドメインの問題解決に集中します。そのため VSeed の中核目標は、単一チャートタイプのすべての要件を深く満たすことではなく、チャートタイプが決まる前のデータ変換に集中することです。テーマ、インタラクション、アニメーションなどのその他の機能は利用側に委ねます。
- 抽象レベル(Abstraction Level)
VSeed は高い抽象レベルを提供し、ユーザーが低レベルの実装詳細ではなく問題解決に集中できるようにします。これにより開発効率が向上します。たとえばチャートタイプの切り替えは、切り替えの詳細を気にせず、1 つのパラメータを変更するだけで済みます。
- 制約こそ利点(Constraint is Advantage)
VSeed は制約を重視します。VSeed DSL を受け取り、VTable または VChart の spec を出力します。これにより、ユーザーは単一チャートの機能をより柔軟に制御できます。VSeed はブラックボックスではありません。
したがって、VSeed は VTable や VChart の元の機能を壊さない Spec Builder と簡単に考えられます。どの VChart、VTable ユーザーでも、既存プラットフォームへすばやく VSeed を組み込めます。