概要
- Better Software Conferenceでのプレゼン動画が公開
- 歴史的背景を重視しつつ2時間以内に収めた内容
- Smalltalkなど一部の詳細エピソードは割愛
- 追加資料や未公開ドキュメントの共有も検討中
- 参考となる4つの歴史資料を紹介
Better Software Conference プレゼン動画公開のお知らせ
- Better Software Conference での自分のプレゼン動画が YouTube で公開
- プレゼンの 全編視聴 が可能(リンク:YouTube動画)
- 2時間以内 に収めるため、歴史的な正確性を維持しつつも内容を厳選
- 重要性が高くないエピソードや Smalltalkの開発経緯 などは割愛
- プレゼン準備のため、 数百〜千ページ超 の資料を調査・整理
プレゼンに盛り込めなかった内容と今後の計画
- プレゼン外にも 共有したいエピソードや資料 が多数存在
- 今後、 ライブ配信 で未紹介ドキュメントを解説する案を検討中
- 視聴者からの コメントやフィードバック を募集中
- プレゼン内容に興味を持った方に向けて、 4つの歴史資料 を推奨
推奨する歴史資料4選
The Early History of Smalltalk
- Alan Kayによる Smalltalk開発の回顧録
- C++ の普及により割愛したSmalltalkの詳細な経緯を知るのに最適
- 付録付きPDF を推奨(インターネット上には付録なしも多いため注意)
A History of C++
- Bjarne Stroustrupによる C++の開発史
- 書籍『The Design and Evolution of C++』の第1章に相当
- 本格的にC++の歴史を学びたい場合は 書籍の購入 を推奨
The Development of the Simula Languages
- Ole-Johan DahlとKristen Nygaardによる Simula IおよびSimula 67の開発記録
- クラス や 仮想関数 が初めて登場した経緯を記述
Origins of the APT Language for Automatically Programmed Tools
- Douglass T. Rossによる APT言語の開発史
- 1956年秋の「plex」開発が、 高度に構造化されたデータによるプログラミング の最初期事例として紹介
構造化データとその歴史的意義
- 「plex」以前の 構造体的な概念 の事例については調査に限界
- データを単なる記録としてではなく、 プログラムの動作を支援する構造体 として扱う発想の初出に興味
- もし「plex」より早い事例を知っている方は 情報提供を希望
プレゼンの運営方針
- 運営側から時間制限はなかった が、2時間超のプレゼンは長すぎると自己判断
- コンパクトかつ本質的な内容の提供を重視
ご意見・ご質問 はコメント欄まで。今後のライブ配信や追加資料公開にもご期待ください。
面白いね。プレゼンターは、クラス階層がドメインモデルに対応するのが好きじゃないみたい。彼は、これがOOPの重要な特徴だと思っているようで、Smalltalkの支持者たちの引用を持ち出してる。でも、Smalltalkの世界ですら、OOPが実際に何かについて合意できてなかったんだよね(Kayの発言とSmalltalk-76ffの実際のアーキテクチャを比べてみて)。Smalltalkが重要性を失ったのもあっという間だったし、これ以上言及する必要はないと思う。むしろ、IEEEみたいな信頼できる業界団体を見た方がいいよ。彼らは自分たちの基準やベストプラクティスを発表してるから。例えば、OOPのマイルストーン(https://ethw.org/Milestones:Object-Oriented_Programming,_196...)では、Simula 67が最初のOO言語とされていて、OOは「3つの主要な特徴の組み合わせ」と定義されてるんだ。1) データとコードのカプセル化 2) 継承と遅延バインディング 3) 動的オブジェクト生成。クラス階層がドメインモデルに対応するなんて言及はないよ。だから、プログラミングパラダイムと、それを実践で使う人たちのやり方を混同しない方がいいかもね。パラダイムの一番の支持者が、実際にそれを適用する人たちではないってことは、今でも変わらない事実だし。言うのに2.5時間もかからないよ。