概要
MITが Scheme から Python へ移行した理由を Sussman が説明。 1980年代と現代で プログラミングの本質 が変化。 現代のプログラミングは 未知のライブラリ や 複雑な環境 への対応が必要。 新しい6.001は ロボット制御 を中心に設計。 Python 採用の理由は 実装済みライブラリ の存在。
MITの6.001がSchemeからPythonへ移行した理由
- Costanza が Sussman にMITの 6.001 がSchemeからPythonへ変更した理由を質問
- Sussmanの説明:1980年代のエンジニアリングと 2000年頃のエンジニアリング の違い
- 1980年代:優秀なプログラマーは 深く考え抜き、 シンプルなコード を記述
- 当時のコードは ハードウェアに近い 動作、Schemeも 全体像が理解可能
- 抵抗器 の例え:バンドを読めば 全ての特性 が分かる単純さ
- 元の6.001: 理解可能な小さな部品 を組み合わせて 大きなシステム を構築する教育
- 現代のプログラミング: 誰が書いたか分からないソフトウェア の 不完全なマニュアル と格闘
- ライブラリの挙動 を自分で 実験 し、動作を確認する必要
- 仕事内容が 根本的に異なる ため、 新しいカリキュラム が必要
新しい6.001の特徴とPython採用の理由
- 新6.001は ロボット制御 を中心に設計
- 学生は 小型ロボット をプログラムし、 移動制御 を行う課題
- ロボットは 抵抗器のような理想的な挙動 をしない
- 車輪の滑り や 環境変化 などの不確実性
- システムに ロバスト性 を組み込む必要性
- こうした課題は SICP (Structure and Interpretation of Computer Programs)で議論されている内容とは異なる
- Python 採用の理由: ロボットインターフェース用ライブラリ が既に実装されていたため
- 特別な思想ではなく 実用的な選択
まとめ
- 時代の変化 により、 教育内容 も進化
- ロボット制御 を通じて、 現代的なプログラミング の本質を学ぶカリキュラム
- Python は 既存ライブラリ の利便性から選択