『オブジェクト指向でなぜつくるのか』を読んだ感想。
『オブジェクト指向でなぜつくるのか』の第2版を読破したので感想を書いていこうと思います。
まず、この本を読もうと思った理由は主に3つあります。
1つ目 : 私がよく使うJavaで適切にオブジェクト指向を利用して開発できるようになる為。
2つ目 : UMLを利用したモデリングやアジャイルをはじめとする開発技術など、コーディング以外の工程について学ぶ為。
3つ目 : 『関数型プログラミングに目覚めた!IQ145の女子高校生の先輩から受けた特訓5日間』という書籍を読んで、余計に分からなくなってしまった関数型言語に関する知識を整理する為。
といった感じです。
関数型言語に関する話は第2版で加筆された内容なので、購入する際は少し注意が必要です。
感想
さて、前半はOOP(オブジェクト指向プログラミング)に関する話です。
サンプルコードは短いといえど、全てJavaで解説されます。
その為、Javaの文法を知らないと辛いのでは、と思いましたが、私自身がJava以外の言語でまともにOOPをしたことがないのでなんとも言えません。
それに加え、メモリの使い方などハードウェア寄りの話も多々あるので、そこらへんの分野に関してあまり理解していないと感じる方はこの本を読む前に同じなぜシリーズの『プログラムはなぜ動くのか』を読んでおくことをオススメします。
ちなみに私は基本情報レベルの知識しか持ち合わせていませんが、本の内容についてはかなり理解できたかと思います。
中盤以降はUMLを用いたモデリングやアジャイルをはじめとする開発手法などを中心に、主に上流工程で使われるオブジェクト指向の話でした。
私は本格的な開発に携わったことがないので、とても新鮮味のある話でした。
この本だけでなく、なぜシリーズに一貫して言えることなのですが、注釈が丁寧で図による解説も豊富です。
そしてこの本では、章末に参考書籍が紹介されているので、次のレベルへのステップアップもし易いのではないでしょうか。
ちなみにこの本は、OOP、UML、関数型言語など、様々な分野を浅く掘り進めて行くスタイルの為、1つの分野に特化した専門書というわけではないです。
この本で概念的な面を理解した上で、JavaのOOPを実際に記述しながら学ぶだとか、デザインパターンについて別の本で勉強するだとか、そういった使い方が私は正しいと思います。
私はこの本で関数型言語(主にHaskell)について興味を持てました。
これを機会にHaskellを始めてみようかなという感じです。
OOPをはじめとしたの基礎について学びなおしたい方、是非とも手に取ってみてはいかがでしょうか。