プログラミング言語設計論   Programming Language Design

文字サイズ 

担当教員
増原 英彦 
使用教室
木7-8(W832)  
単位数
講義:2  演習:0  実験:0
講義コード
75109
シラバス更新日
2014年10月1日
講義資料更新日
2015年1月22日
アクセス指標
学期
後期

講義概要

プログラミング言語における諸々の言語機能に関する一般的な解説を行い、先進的な言語機能について紹介する。

講義の目的

近年のプログラミング言語には、様々な先進的な機能があり、プログラムの生産性や安全性に貢献している。そのような言語機能が作られた背景や、言語機能の持つ性質を理解することは、プログラミング言語を利用する(即ちプログラミングを行う)立場からも、プログラミング言語を作成する立場からも重要なものである。本講義は、そのような言語機能の背景と性質を理解することを目的とする。

講義計画

各回の講義に先立って簡単なテストを行う。

1. モジュール化・Parnas原理・情報隠蔽
2. 抽象データ型・Liskov置換原則・インタフェースと実現
3. オブジェクト指向1 (クラス・インスタンス・カプセル化・継承)
4. オブジェクト指向2 (委譲・マルチメソッド)
5. 再利用性 (ライブラリとフレームワーク・デザインパターン)
6. 多重継承・traits
7. アスペクト指向・横断的関心事・Dependency injection
8. フィーチャ指向・文脈指向
9. 型安全性1 (代数データ型・部分型・型推論)
10. 型安全性2 (多層性・総称型・The Expression Problem・モジュール型)
11. メタプログラミング・テンプレート・マクロ
12. メタオブジェクトプロトコル

教科書・参考書等

特になし。
講義で使用したスライドはOCWを通じて提供する。(ただしスライドは講義説明を補完するためのものであり、教科書として用いられることを意図していない。)

関連科目・履修の条件等

プログラミング言語についての基本的な知識を有すること。

成績評価

レポートによる。

このページのトップへ