あるエンジニアの独り言
書籍の紹介
最終更新:
匿名ユーザー
-
view
やさしいJava
この本はJavaの勉強をしようと思った際に、どの本がいいかネットで調べたところいろいろなページで紹介されていた本だった。実際、内容はわかりやすく、とっつきやすい内容だと思う。プログラム初心者におすすめ。
しかしながら、この本の継承の説明を読んだ時、carクラスを継承してsupercarクラスを作りましょうというような説明があったのだが、『継承するよりcarクラスを修正した方が早い』と感じた。継承は差分プログラミングの手法というのも間違いではないと思うが、プログラム設計において、抽象クラスを具象クラスの抽象化等の手法で使うという発想はこの本を読んでも絶対にわからないと思う。
あくまでも『Javaの入門書』であるということを理解して読むなら良書だと思う。
しかしながら、この本の継承の説明を読んだ時、carクラスを継承してsupercarクラスを作りましょうというような説明があったのだが、『継承するよりcarクラスを修正した方が早い』と感じた。継承は差分プログラミングの手法というのも間違いではないと思うが、プログラム設計において、抽象クラスを具象クラスの抽象化等の手法で使うという発想はこの本を読んでも絶対にわからないと思う。
あくまでも『Javaの入門書』であるということを理解して読むなら良書だと思う。
Eclipse+VisualEditerによるJavaプログラミング
これはだーいぶ前に一度プログラムをやってみたいと思ったときに買った本。
一応、本に書いてある通りに進めていったのだが、どうもGUIが思うとおりに作れなかった為、当時は挫折した。
最近、Javaがなんとなくわかってきたような気がしたので、改めて挑戦した結果、ちゃんと完成することができた。Javaというとwebアプリケーションというイメージを持っている人が多い気がするが、Swingを使えばGUIアプリも作れるしVisualEditerを使えばぺたぺたコントロールを貼っていくだけである程度のGUI画面が作れるということがわかった。後半にはデータベースへの接続もあり、小規模ながらデータベースから検索、データベースへの登録ができるGUIアプリケーションの製作を一貫して体験できる良い本だったと思う。
一応、本に書いてある通りに進めていったのだが、どうもGUIが思うとおりに作れなかった為、当時は挫折した。
最近、Javaがなんとなくわかってきたような気がしたので、改めて挑戦した結果、ちゃんと完成することができた。Javaというとwebアプリケーションというイメージを持っている人が多い気がするが、Swingを使えばGUIアプリも作れるしVisualEditerを使えばぺたぺたコントロールを貼っていくだけである程度のGUI画面が作れるということがわかった。後半にはデータベースへの接続もあり、小規模ながらデータベースから検索、データベースへの登録ができるGUIアプリケーションの製作を一貫して体験できる良い本だったと思う。
正しく学ぶソフトウェア設計
これは、今の職場でVB.NET2005の勉強を始めてオブジェクト指向もなんとなくわかったきた”気がした”くらいの時期に、何を作ろうとしても設計のビジョンが沸かなくて困っていたときに購入した本。
実は買って読んだ時には半分も理解できてなかった気がする。しかし、何を勉強すればこの本が理解できるようになるかはなんとなくわかったので、この本を理解するための勉強をして、この本を読むというサイクルを何度か繰り返した結果、オブジェクト指向設計の勘所の一端が見えてきた気がする。
実は買って読んだ時には半分も理解できてなかった気がする。しかし、何を勉強すればこの本が理解できるようになるかはなんとなくわかったので、この本を理解するための勉強をして、この本を読むというサイクルを何度か繰り返した結果、オブジェクト指向設計の勘所の一端が見えてきた気がする。
デザインパターン徹底攻略
上記のソフトウェア設計の本で『GoFのデザインパターン』という単語を見て興味が沸いて買った本。
GoFの原本は読んでいないのでなんとも言えないのだが、デザインパターンそのものの説明というよりは、デザインパターンの説明を通じてオブジェクト指向の勘所を伝えようという趣旨を感じた。
どうしても概念的になりがちな抽象化、ポリモーフィズム等のオブジェクト指向のエッセンスを活用した物がデザインパターンなのでデザインパターンがわかることでオブジェクト指向がわかるというのは合理的な気がする。
サンプルコードもあるのだが、きわめて簡潔な例になっているのでわかりやすい。わかりやすい反面、複雑なコードを簡潔に整理するという趣旨のパターンについては伝わりづらいかもしれない。
GoFの原本は読んでいないのでなんとも言えないのだが、デザインパターンそのものの説明というよりは、デザインパターンの説明を通じてオブジェクト指向の勘所を伝えようという趣旨を感じた。
どうしても概念的になりがちな抽象化、ポリモーフィズム等のオブジェクト指向のエッセンスを活用した物がデザインパターンなのでデザインパターンがわかることでオブジェクト指向がわかるというのは合理的な気がする。
サンプルコードもあるのだが、きわめて簡潔な例になっているのでわかりやすい。わかりやすい反面、複雑なコードを簡潔に整理するという趣旨のパターンについては伝わりづらいかもしれない。
なぜ、あなたはJavaでオブジェクト指向開発ができないのか
この本は、まだ営業をやっていた頃にプログラムに興味を持ちJavaを勉強して行き詰ったときに買った本。
結局、この本で伝えたいことがわかったのは最近読み直した時である。継承、ポリモーフィズム、カプセル化というオブジェクト指向の3大要素を活用して、じゃんけん、ババ抜き、七並べのプログラムを設計しながら作るという内容。各所に読者が考えてコードを入力させる部分があり、考えながら読ませる工夫がされていると感じた。
後半では
ババ抜き作成⇒七並べ設計⇒共通する部分が多い⇒トランプフレームワーク設計、作成⇒フレームワークを使って七並べを作成
という流れになっており、多くの本では説明しきれていないオブジェクト指向の『保守性』『拡張性』と言った部分に上手なアプローチで言及していると思う。
サンプルコードも本文の設計と連動して見やすいのだが、さらっと3項演算子を使っていたりするので、ある程度Javaについての理解は必要。
結局、この本で伝えたいことがわかったのは最近読み直した時である。継承、ポリモーフィズム、カプセル化というオブジェクト指向の3大要素を活用して、じゃんけん、ババ抜き、七並べのプログラムを設計しながら作るという内容。各所に読者が考えてコードを入力させる部分があり、考えながら読ませる工夫がされていると感じた。
後半では
ババ抜き作成⇒七並べ設計⇒共通する部分が多い⇒トランプフレームワーク設計、作成⇒フレームワークを使って七並べを作成
という流れになっており、多くの本では説明しきれていないオブジェクト指向の『保守性』『拡張性』と言った部分に上手なアプローチで言及していると思う。
サンプルコードも本文の設計と連動して見やすいのだが、さらっと3項演算子を使っていたりするので、ある程度Javaについての理解は必要。




