GGG

プログラミング言語やソフトウェア開発について思ったことを書いてます

そういえば、なぜオブジェクト指向でつくるんだろう・・・

 

 

オブジェクト指向でなぜつくるのか 第2版

 

〇購入の経緯

表題の通り、書店で平積みされていた本書が目に止まった。

ふと、考えてみたがすぐに答えが見つからなかった。

 

〇読み終わるまでの期間

1週間程度

 

〇感想

非常に平易な表現で書いており、終始わかりやすい印象。

なるほど、オブジェクト指向が何なのか、なぜそれを利用するのか分かったぞ。

 

オブジェクト指向言語を使ってのソフトウェア開発経験があるすべての人に読んでもらいたい。特に1,2年くらい経験して、そのプログラミング言語が手になじんできたと思っている方々に。実際、同じ職場の人たちに読んでもらいたいと思った。

新人の域を脱して、一人前になりつつあるオブジェクト指向言語プログラマ必読の書といったところでしょうか。

 

【メモ】

◆現実≠OOP

・現実とオブジェクト指向でできる表現は同じではない。

コード書いてる人には当たり前の話だが、明示的に書いてある書籍は私にとって初めてだった。たぶん、現実≒OOPになってるのは業務分析に使うオブジェクト指向設計を連想してるんだね。

◆以下の2つは分けて考える。(ごっちゃになってた)

オブジェクト指向プログラミング言語

 → クラス、継承、ポリモーフィズム

   → プラクティスの集大成がデザインパターン

   → ツールUML

・業務分析(モデリング)などの上流で使われるオブジェクト指向設計

 → 集合論、現実世界を分析し整理するメソッド

   → ツールUML

 ※プログラミング言語としてのオブジェクト指向誕生が先。

実践の中で必要になり生まれたものなのだと認識。

本書ではそういったスタンスで執筆されているようです。

◆歴史を知る。

プログラミング言語の歴史的な背景(発展)を知ることでオブジェクト指向言語の登場は必然だった。関数型言語は、別のアプローチによって生まれたもの。

→ 人間にとって分かりやすい。楽に作れる。共通化して無駄を省きたい。

機械語アセンブリ→構造化プログラミング→OOPL

                     →関数型言語

フレームワーク

・ハリウッドの原則(Don't call us , we will call you )

関数型言語について

Haskellを用いて、純粋関数型言語を概説している。

また挑戦してみるかな。