(印刷用 PS 版は /home/hattori/visual-prog/latex2e/main.ps
です)
いろいろな PBD システム
PBDとは、人間が具体的な操作をやって見せ、コンピュータがそれを基にプログラムを作る方式である。よく似た言葉にProgramming by Exampleがあり、両者を区別せずに使う人もいるが、by Exampleでは入力と出力の組から関数を推定するようなものも含まれるので、操作の実演を行なうという点を強調するために、ここではPBDという言葉を使う。
- 操作の対象から見た分類
- ファイルの移動やアプリケーションの起動など、ユーザが日常的に行なっている操作を対象とする--- Pursuit, Eagerなど
- 数値の代入や比較など、汎用プログラミング言語の構成要素をvisualizeして操作対象とする--- Toontalkなど
- 推論の程度から見た分類
- 自動的な推論は行なわず、ユーザが手動で汎化を行なう--- Topaz, Toontalkなど
- 単純なルールベースの推論により、単一の事例を汎化する--- Peridot, Mondrianなど
- 複数の事例から汎化を行なう--- Gamutなど