89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
# 📖 Box-Oriented Programming: A Language Design That Makes Bad Code Impossible
|
||
|
||
## 📑 論文概要
|
||
|
||
**タイトル**: Box-Oriented Programming: A Language Design That Makes Bad Code Impossible
|
||
|
||
**対象会議**: SIGCSE 2026 / ICER 2025
|
||
|
||
**著者**: [TBD]
|
||
|
||
**概要**: プログラミング初学者が陥りやすい設計ミスを言語レベルで防ぐ「箱理論」を提案。Nyash言語での実装と教育効果を実証。
|
||
|
||
## 🎯 研究課題
|
||
|
||
1. **なぜ初学者は悪いコードを書くのか?**
|
||
- グローバル変数の乱用
|
||
- 不適切な責任分離
|
||
- メモリ管理の混乱
|
||
|
||
2. **既存の教育アプローチの限界**
|
||
- 「良い設計」の説教
|
||
- 後付けのリファクタリング
|
||
- 抽象的な原則論
|
||
|
||
3. **提案:言語設計による解決**
|
||
- 悪い設計を文法的に不可能に
|
||
- 箱による自然な責任分離
|
||
- 明示的な境界管理
|
||
|
||
## 📊 実験計画
|
||
|
||
### 対照実験
|
||
- **グループA**: 従来言語(Python/Java)で学習
|
||
- **グループB**: Nyashで学習
|
||
- **測定項目**:
|
||
- コード品質メトリクス
|
||
- デバッグ時間
|
||
- 設計パターンの理解度
|
||
|
||
### 予想される結果
|
||
- Nyashグループは自然に良い設計に
|
||
- デバッグ時間の大幅削減
|
||
- 「なぜ良い設計か」の理解促進
|
||
|
||
## 📝 論文構成案
|
||
|
||
```
|
||
1. Introduction
|
||
- プログラミング教育の課題
|
||
- 言語設計の教育的影響
|
||
|
||
2. Related Work
|
||
- 教育用言語(Scratch, Alice)
|
||
- 設計制約言語(Elm, Rust)
|
||
|
||
3. Box Theory
|
||
- 箱の定義と性質
|
||
- 言語設計への適用
|
||
|
||
4. Nyash Language Design
|
||
- Everything is Box
|
||
- 明示的デリゲーション
|
||
- スコープと生命管理
|
||
|
||
5. Educational Experiment
|
||
- 実験設計
|
||
- 結果と分析
|
||
|
||
6. Discussion
|
||
- 教育的示唆
|
||
- 産業界への影響
|
||
|
||
7. Conclusion
|
||
```
|
||
|
||
## 🚀 進捗状況
|
||
|
||
- [ ] 理論的枠組みの整理
|
||
- [ ] 実験プロトコルの設計
|
||
- [ ] IRB(倫理審査)申請
|
||
- [ ] パイロット実験
|
||
- [ ] 本実験
|
||
- [ ] 論文執筆
|
||
|
||
## 📚 参考文献候補
|
||
|
||
- Guzdial, M. (2015). Learner-Centered Design of Computing Education
|
||
- Stefik, A., & Siebert, S. (2013). An Empirical Investigation into Programming Language Syntax
|
||
- Ko, A. J., & Myers, B. A. (2005). A framework and methodology for studying the causes of software errors |