オブジェクト指向でなぜつくるのか 第 3 版 知っておきたい OOP、設計、アジャイル開発の基礎知識

オブジェクトシコウデナゼツクルノカダイサンパン

オブジェクト指向でなぜつくるのか 第 3 版 知っておきたい OOP、設計、アジャイル開発の基礎知識の表紙
ハードウェア
著者:
平澤 章(ヒラサワアキラ)
出版社:
日経 BP
出版日:
2021年04月16日頃
ISBN:
9784296000180
在庫:
在庫あり
3.86(14 件 / 楽天ブックス)
中級者向け
オブジェクト指向OOPアジャイル開発ソフトウェア設計PythonJavaJavaScriptRubyプログラミング基礎ソフトウェア開発

なぜ注目されているか

言及数
143位
総合274位 ↓ 2 ランクダウン 言及 20 件・うち記事 18 件を掲載
01220222023202420252026

書籍紹介

『オブジェクト指向でなぜつくるのか』10 年ぶり、待望の改訂第 3 版!
「これからの 10 年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。

現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を平易な文章で核心をズバリと解説します。
生産性のかぎを握るプログラム開発の主要技術をわかりやすく教えるという位置づけは変わりません。

そのうえで「今ドキの OOP」として人気言語 (Java、Python、Ruby、JavaScript) の最新動向を新たに盛り込んでいます。

もちろん、すべての文章を細かく見直して現況に沿うよう更新しています。

本書の特徴
◆オブジェクト指向 (OOP) の全体像と特徴がわかる

◆OOP のプログラムが動く仕組みが具体的にわかる

◆関数型言語の本質と OOP との関係がわかる

◆アジャイル開発手法と実践手法がわかる

【目次】
第 1 章 オブジェクト指向はソフトウエア開発を楽にする技術

今ドキの OOP:とっつきやすくて、奥の深い Python

第 2 章 オブジェクト指向と現実世界は似て非なるもの

オブジェクトの向こう側: バズワードになったオブジェクト指向

第 3 章 OOP を理解する近道はプログラミング言語の歴史にあり

プログラミング昔話: COBOL コンパイラのニワトリとタマゴの話

第 4 章 OOP は無駄を省いて整理整頓するプログラミング技術

今ドキの OOP:ホームページツールから進化した PHP

第 5 章 メモリの仕組みの理解はプログラマのたしなみ

プログラミング昔話: OOP はダンプが見づらい?

第 6 章 OOP がもたらしたソフトウエアとアイデアの再利用

今ドキの OOP:Rails フレームワークでブレークした Ruby

第 7 章 汎用の整理術に化けたオブジェクト指向

オブジェクト指向の向こう側: 言語が先か、コンセプトが先か

第 8 章 UML は形のないソフトウエアを見る道具

第 9 章 現実世界とソフトウエアのギャップを埋めるモデリング

第 10 章 擬人化して役割分担させるオブジェクト指向設計

今ドキの OOP:クラスに縛られずに動く JavaScript

第 11 章 オブジェクト指向から生まれたアジャイル開発

プログラミング昔話: 昔は許されなかった XP

第 12 章 オブジェクト指向を使いこなそう

補章 関数型言語でなぜつくるのか

今ドキの OOP:関数型言語の箱庭を用意した Java

技書の森解説

クラスや継承、ポリモーフィズムという言葉は知っていても、それがなぜ必要なのか、プログラムの中で実際に何が起きているのかを説明できない人のための入門書です。『オブジェクト指向でなぜつくるのか 第 3 版』は平澤章氏の著書で、日経 BP から 2021 年 4 月に刊行されました。副題は「知っておきたい OOP、設計、アジャイル開発の基礎知識」、英題は How Objects Work です。NDL の書誌によると初版は 2004 年に日経 BP 社から出ており、版元はこの第 3 版を 10 年ぶりの改訂と案内しています。版元の紹介では、オブジェクト指向の全体像と各技術を平易な文章で解説する位置づけは変えず、全文を見直したうえで、Java、Python、Ruby、JavaScript の動向を「今ドキの OOP」として新たに盛り込んだとしています。

全 12 章と補章、プログラミング技術から設計とアジャイルへ

目次は第 1 章から第 12 章と補章で、章の間に「今ドキの OOP」「プログラミング昔話」「オブジェクトの向こう側」というコラムが挟まります。前半は、第 1 章「オブジェクト指向はソフトウエア開発を楽にする技術」、第 2 章「オブジェクト指向と現実世界は似て非なるもの」、第 3 章「OOP を理解する近道はプログラミング言語の歴史にあり」、第 4 章「OOP は無駄を省いて整理整頓するプログラミング技術」、第 5 章「メモリの仕組みの理解はプログラマのたしなみ」、第 6 章「OOP がもたらしたソフトウエアとアイデアの再利用」と、プログラミングの技術としての OOP を扱います。第 7 章「汎用の整理術に化けたオブジェクト指向」を境に、第 8 章は UML、第 9 章はモデリング、第 10 章「擬人化して役割分担させるオブジェクト指向設計」と、考え方が設計や上流工程へ広がっていく流れを追い、第 11 章「オブジェクト指向から生まれたアジャイル開発」、第 12 章「オブジェクト指向を使いこなそう」へ続きます。最後の補章は「関数型言語でなぜつくるのか」です。プログラミング言語の仕組みと、そこから派生した整理術としてのオブジェクト指向を、意識して分けて説明する構成と読めます。

メモリの動きと言語の歴史から仕組みを理解する

この本の題名が問うている「なぜ」は、オブジェクト指向の学習で最もつまずきやすい点に対応しています。クラスはデータとそれを扱う処理をまとめて隠し、ポリモーフィズムは呼び出す側を変えずに処理を差し替え、継承は共通部分をまとめて書く仕組みですが、これらが何の問題を解くために生まれたのかを知らないと、構文を覚えても設計の判断に使えません。本書が第 3 章でプログラミング言語の歴史を、第 5 章でメモリの仕組みを置いているのは、この問題の出どころと、プログラムが実行時にどう動くかを押さえてから技術の意味へ進む順序と読めます。版元も特徴の 1 つに、OOP のプログラムが動く仕組みが具体的にわかることを挙げています。インスタンスがヒープに置かれ、変数がそれを指すという メモリの使われ方 は、オブジェクトの共有や不要になった領域の回収を理解する土台で、ここを押さえておくと、Java や Python のように言語ごとに見た目が異なっても共通する動きが見えやすくなります。

第 3 版の改訂点と、著者の立ち位置

版元が示す本書の特徴は、OOP の全体像と特徴、OOP のプログラムが動く仕組み、関数型言語の本質と OOP との関係、アジャイル開発 の手法と実践手法の 4 点です。版元によると、第 3 版で新たに盛り込まれたのは Java、Python、Ruby、JavaScript の動向で、目次では「今ドキの OOP」のコラムとして Python、PHP、Ruby、JavaScript、Java の回が章の間に置かれ、補章のあとには「関数型言語の箱庭を用意した Java」の回が続きます。補章で 関数型プログラミング を扱うのは、オブジェクト指向を唯一の正解とせず、別の考え方と並べて位置づけるためと読めます。版元の著者紹介によると、平澤氏はウルシステムズに所属し、金融系や制御系のシステム開発を経験したのち、30 代前半でオブジェクト指向モデリングや Smalltalk、MVC フレームワークに出会ったとされ、共訳書に『リファクタリング 第 2 版』があります。

向いている読者、構文の次に考え方を固めたい人

向いているのは、何か 1 つのオブジェクト指向言語で基本の構文は書けるようになったものの、クラスの分け方や継承を使う場面で迷う人、オブジェクト指向という言葉が設計や開発手法の文脈で使われる理由をまとめて知りたい人です。逆に、具体的な言語のコード例を写しながら設計の型を身につけたい人や、デザインパターンを一つずつ実装して覚えたい人には、文章中心の作りは遠回りに感じるはずです。そうした目的には、レベルに応じて本を選べる 設計の技術書の選び方のガイド も参考になります。言語が変わっても通用する理解の土台を、プログラムの動きと開発の歴史の両面から作りたい人にとって、何度も読み返す価値のある 1 冊です。

言及した記事 (18 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: