2010/09/08
学習内容は「コンピュータプログラミングの概念・技法・モデル」でOzの基本的な文法構造を勉強(p.1〜25)。
・備考
・クラスの作り方は、クラス構文を使わない形式のもののみ勉強した。クラス構文を使うクラスの作り方はオブジェクト指向プログラミングの章に入ってから勉強する。
・Ozのスレッドによる並列性プログラミングは容易に行えるようである。
・学習内容の感想
Ozの様々な言語モデルの基礎をみれたのでこれをもとにして、しっかりOzと様々な言語モデルを学んでいきたい。
また実際の様々な言語モデルの簡単な比較も見ることができた。
Mozartシステムの使用法、Ozの基本的構文を覚えることができたので、これからは忘れないようにしっかりやっていきたい。
2010/09/09
学習内容は「コンピュータプログラミングの概念・技法・モデル」の2.1〜2.2(p.31〜50)を勉強。
・備考
・Ozで単一代入格納域が使われる理由は
・部分値について計算したい
・宣言的並列性を実現したい
・論理プログラミングおよび制約プログラミングで必要とされているため
・課題
・付録Cの内容を読む
・Lispのマクロを調べる
・学習内容の感想
Ozで値格納域やセル格納域でなく、単一代入格納域を使う理由がわかった。実用的プログラミング言語の定義の基本が理解できた。
・予定
・次の2.3核言語(p.50〜)以降を読み進める。
・付録Cの内容を読む。
2010/09/10
学習内容は「コンピュータプログラミングの概念・技法・モデル」の2.3核言語(p.50〜57)の勉強。
・備考
・Ozは浮動小数点数の除算は”/”、整数は除算div(小数部分切り捨て)と法演算mod(割り算の余り)
・手続き操作は以下の三つ
1.(proc文による)手続きの定義
2.(波括弧を使って)手続きを呼び出す
3.IsProcedure関数を使って値が手続きかどうかテストする
・キーワードと同じ文字の並びを持つアトムは引用符で囲まなければならない
・単項マイナス記号は~(チルダ)
・課題
・アトムの使用法について調べる
・付録Bで基本型、基本操作の勉強
・学習内容の感想
・知らない基本型や新しい基本操作が出てきたので、もっと知りたいと思った。
・予定
・2.4核言語の意味(p.57〜)以降を読み進める
・付録Bの基本型、基本操作を読む
2010/09/11
学習内容は「コンピュータプログラミングの概念・技法・モデル」の2.4核言語の意味(p.57〜73)と付録B 基本データ型を勉強。
・備考
Ozは静的スコープがデフォルトとして設定されている。
・課題
・今回学習した概念を用いたプログラミングを行う
・学習内容の感想
スコープは普段あまり意識していない概念だったので、今回しっかり勉強できてよかった。またデータ型の操作法が学べた。
・予定
・2.5メモリ管理(p.73〜)以降を読み進める
2010/09/12
学習内容は「コンピュータプログラミングの概念・技法・モデル」の2.5メモリ管理、2.6核言語から実用的言語へ(p.73〜91)の勉強
・備考
・ブール値計算の論理積、論理和の演算子はandthen、orelse演算子
・入れ子マーカの部分を本で読んでわからない場合は、”NestingMarker.oz”を参照
・課題
・入れ子マーカを使ってプログラムを書いてみる
・学習内容の感想
・やはり実用的言語になってきて難しくなってきた。しっかり理解できるように頑張りたい
・予定
・2.7例外(p.92〜)以降を読み進める
2010/09/13
学習内容は「コンピュータプログラミングの概念・技法・モデル」の2.7例外(p.92〜98)を勉強
・備考
・raise文がJavaでのthrow文と同じ働き
・課題
・例外を使ってプログラミングする
・学習内容の感想
・今までやってきた例外処理と差異がないのですぐに理解できた
・予定
・2.8進んだ話題(p.98〜)以降を読み進める