Software Engineering Lecture 4/18
Software Engineering Lecture 4/18
半分は関数型言語を勉強しよう
ソフトウェア工学
ソフトウェアを作るための技術
ソフトウェア作成方法論
仕様記述
代数的、論理的
プログラム作成
検証とデバッグ
仕様 < - > プログラム
変更とメンテナンス
特に複数の人でソフトウェアを作るための技術
問題を調べる
問題分割しやすい仕様記述
構造化手法
データフロー図式
オブジェクト指向
複数の人でプログラムするということ
1000人でプログラムできるのか?
データベースは、データとプログラムを分けることが前提条件
ソフトウェア工学的な視点からはそうとは限らない
オブジェクト指向データベース
まだまだ未完成な学問。科学になるのかどうかも良く分からない
この講義では、主にオブジェクト指向問題分析、設計を考えよう
関数型言語
関数を定義することによってプログラムを行なう (Cと同じだ)
副作用と言うのがあり数学で学んだの関数とは異なる
関数そのものを操作できる (高階関数という)
動的なメモリ領域管理を行なう = ゴミ集めがある
LISP
S-式でプログラムを表現する
Common LISP 一応、実用指向、標準
Scheme 理論屋さん好み
Emacs Lisp Emacs を使うなら便利、手に入りやすい
Pureな関数型言語
計算理論に基づいた言語
数学で学んだ関数と同じ意味になるように実行される
Gopher
HOPE
ソフトウェア工学と関係あるのか?
関数とモジュールを使った問題分割
オブジェクト指向言語の一例
Next
Kono's home page