目次

  1. インタフェースのプログラミング
  2. ユーザインタフェース部分
  3. インタフェース作成の面倒さ
  4. インタフェース作成の面倒さ (cont'd)
  5. リアルタイム性
  6. 様々な要素技術
  7. アプリケーション部とインタフェース部の交錯
  8. AppとI/Fの分離
  9. 分離の困難さ
  10. 並列処理
  11. 並列処理 (cont'd)
  12. 例外処理
  13. エラー処理記述の面倒さ
  14. 柔軟性/頑強性
  15. ユーザ補助機能
  16. 評価/再設計の繰り返し
  17. 関連技術
  18. 関連技術 (cont'd)
  19. 関連技術 (cont'd)
  20. 解決法1: UIMS
  21. Seeheimモデル
  22. UIMSの問題点
  23. 解決法2: UI記述言語
  24. UI記述言語の問題点
  25. 解決法3: ツールキット
  26. 各種のグラフィックツールキット
  27. オブジェクト指向ツールキット
  28. UIツールキットの問題点
  29. UIツールキットの問題点 (cont'd)
  30. 解決策4: 状態遷移プログラミング
  31. 状態遷移機械の問題点
  32. 拡張状態遷移機械
  33. 状態遷移プログラミング
  34. 状態遷移プログラミング例
  35. 変換後のソース
  36. 解決策5: 並列プログラミング
  37. ツールキットの並列動作
  38. 並列プログラミングの問題点
  39. 解決法6: インターフェースビルダ
  40. インターフェースビルダ
  41. NeXTのインタフェースビルダ
  42. Xcodeのインタフェースビルダ
  43. インターフェースビルダの問題点
  44. 解決法7: 制約プログラミング
  45. 参考: Cinderella
  46. Ivan SutherlandのSketchpad
  47. 制約システムの問題点
  48. 解決法8: 例示プログラミング
  49. Viscuit
  50. 例示システムの問題点
  51. どうするのがよいか?
  52. 工夫のいろいろ
  53. From scratch, 小規模システムの場合
  54. From scratch, 大規模システムの場合
  55. ウィンドウシステムの場合
  56. プロトタイプシステムをとりあえず動かす場合
  57. ツールの実例1: Flex
  58. Flex適用例
  59. C出力
  60. ツールの実例2: Linda
  61. Lindaモデル
  62. 8-Queen
  63. Lindaによる解法
  64. 端末インタフェースをもつ8-Queenプログラム
  65. ウィンドウインタフェースをもつ8-Queenプログラム
  66. End