graph LR
データ指向プログラミング --> データ
データ指向プログラミング --原則#1 コードからデータを切り離す--> コード
コード --> 関数型プログラミング
コード -->オブジェクト指向プログラミング
データ -- 原則#4 データスキーマをデータ表現から切り離す--> スキーマ
データ -- 原則#2 データを汎用的なデータ構造で表す--> 表現
表現 --> 汎用的
表現 --> 具体的
汎用的 --> イミュータブル
汎用的 -- 原則#3 データはイミュータブルである--> ミュータブル