2012-01-01から1年間の記事一覧

「コンピュータ・プログラミングの概念・技法・モデル」を読み始めてから読み終わるまで

二年前の夏くらいに読み始めて、ちょくちょくと読み進めていた「コンピュータ・プログラミングの概念・技法・モデル」という本をひと通り読み終えました。まあ読んだと言っても章末の練習問題は途中からやっていないので、おおよそ重要なことは一通り頭に入…

CTMCP 12章:制約プログラミング

第二部の最終章。制約プログラミング。 要点 制約プログラミング自体は、何らかの論理的な制約(constarint)を満たす解を求める技法の集合である。制約プログラミングでは解を求めるにあたって、力ずくの探索を可能な限り避けて…(つづき) 感想 計算空間とい…

CTMCP 8章:状態共有並行性

しばらく積み残していた八章以降を消化してしまおうと思います。状態共有並行性です。関係ないですが書き物は軽量マークアップ言語がいいだろうということでemacsのorg-modeを使っていたのですが、コードの断片を埋め込めるのと記号の選び方が良くてプレーン…

CTMCP 11章:分散プログラミング

第十一章:分散プログラミングです。Oz はネットワーク透過なプログラミングを可能にするとかなんとかで、そういうの得意っぽいです。ちょっとすごいです。 要点 この章では、オープンな分散システムを扱う。以下のように、これはクラスタコンピューティング…

CTMCP 9章:関係プログラミング

第一部:一般的計算モデル の最終章、関係計算モデルです。論理型プログラミングを扱います。ちなみに第二部は特殊化された(Specialized)計算モデルで、GUIプログラミング、分散プログラミング、及び制約プログラミングを扱います。GUIプログラミングはあ…

CTMCP 7章:オブジェクト指向プログラミング

明示的状態を導入した計算モデルの上に構築された抽象とその利用について。特に、その意味定義・抽象の設計上の決断と他の計算モデルとの関係、使い方に関する注意、など。 要点 前章で、明示的状態を導入することで増大する複雑さは、データ抽象によるカプ…

CTMCP 6章:明示的状態

明示的状態の導入とそれに伴う色々。 要点 システム構築の原則 システム構築の原則は抽象化である。抽象化を行うということは、仕様と実装を分けて考えるということである。仕様に意識を集中できることで、それを元にさらに複雑なものを構築したりすることが…

CTMCP 5章:メッセージ伝達並行性

Declaretive Concurrencyに続きまして、Message-Passing Concurrencyになります。明示的状態を制限された形で並行性に持ち込みます。スレッドスケジューリングの非決定性が現出します。 要点 前章で定義した宣言的並行性は、並行でありながら実行結果が決定…

非決定性について少し

昨日のCTMCP 4章:宣言的並行性について整理しきれてないところがあったので補足。 非決定性と明示的状態 明示的状態を持つ、ということと非決定性である、というのが別々の概念なんだけど関連していて少しややこしいので整理。 非決定性、というのは現実の…

CTMCP 4章:宣言的並行性

前章から半年以上経ってしまったけど。「コンピュータプログラミングの概念・技法・モデル」という本を読んだ記録です。 途中事故があって内容飛んだけどまとめることで頭整理するみたいな目的はとりえあず果たしたのでそのままにしてる。いつか再読したら書…

実用期を迎えた関数プログラミング

というフォーラムをRubyのメーリスを眺めてたら見かけたので、ちょっと行ってきた。最初にOCamlベースで関数プログラミングの説明が90分ほどあって、そのあと1.HaskellのWebアプリケーションフレームワークYesodの説明(に見せかけたHaskellの説明)、2.Scal…

html5.jpの中の人の話聴いてきた

ウェブ系の会社でバイトしてるんだけど、最近のウェブのフロントエンドとかよく知らんなーって思っていたところ、html5.jpの中の人がお話するというのがあったので、聴いてきた。以下はその時話してたことの思い起こし。事情あって現場でメモ取れなかったの…