オブジェクト指向でなぜ作るのか(第1版)という本を読んだ。
結論から言うと、良書だったけど自分には早かった気がした。
書評
なぜシリーズの本は大体どれも名著らしいけど
「オブジェクト指向でなぜ作るのか」はその中でも特に名著らしいので今回読んでみた。
思ったこと:
- 私が読んだ第1版の発行年は2004年らしいんだけど、「これ最近書かれた本じゃないの?」というくらい今でも通じる内容だった。(ただ、古い内容も多からずあった)
- 「もっと自分でプログラムを書いた後に読めば、理解が深まっただろうなぁ」と少し後悔した。
学べたこと:
- ザックリと「オブジェクト指向とは何なのか?」「なぜ今オブジェクト指向が使われているのか」が理解できた
- 単語でまとめるなら「クラス」「繼承」「ポリモーフィズム」のこと。
- クラス:まとめて、隠して、たくさん作る仕組み
- ポリモーフィズム:サブルーチンを呼び出す側のロジックを1本化する仕組み
- 繼承:重複するクラス定義を共通化する仕組み
- 一言でいうなら「プログラムの無駄を省いて整理整頓するための仕組み」。
- 単語でまとめるなら「クラス」「繼承」「ポリモーフィズム」のこと。
- オブジェクト指向が流行するまでの歴史的な経緯
- ザックリした流れは、機械語→アセンブリ→高級言語(FORTRANなど)→構造化言語(C言語など)→オブジェクト指向言語(Javaなど)らしい。
- ただし、オブジェクト指向という考え自体はかなり昔からあったらしい。Simula67とかいうオブジェクト指向な言語も存在したらしい。なので「時代がオブジェクト指向に追いついた」みたいな感じらしい。
- メモリ管理の仕組み
- ヒープ、静的領域、スタック、ガベージコレクションなどの話。
- 最近の言語だと、ガベージコレクションのお陰でメモリのことを意識する必要がほとんどないっぽいので、「別に今理解する必要ないよね」ってことでテキトーに読み飛ばした。なのでほとんど理解していない。
- UMLとは?図の種類など
- UMLってなんとなく難しそうで敬遠してたけど、読んで見ると「たしかにプログラムの仕組みを図解するのに使えるツールだな」と思った。
- クラス図、シーケンス図、コミュニケーション図、ユースケース図、アクティビティ図だけでも、すぐに使ってみたい。Drawioならすぐに試せそう。
- ソフトウェアとアイデアの再利用(GoFとか)
- この章はまったく意味不明だったので、ほとんど読み飛ばした。もっと力が付いたらまた読みたい。
- システム開発の流れ
- 未経験なので無知だったんだけど、業務分析→要求定義→設計という3つの流れでシステムを作っていくんだなーというのを知った。まぁでも言われてみれば当たり前の話ではあるけど。
- 業務分析と要求定義の段階でUMLを使うと便利なのね。
なんか他にもいろいろ書いてた気がするけど、この記事を書いてる時点で思い出せるのはコレだけなので
40%くらいしか理解できていない感があります。
良かった点:
- 平易な文章で書かれている
- 分かりやすい図が多い
悪かった点:
- 特になし
おわり
コメント