本書の根本的な問題は第2版から変化していない
本書の抱える原理的な問題は、構造化言語ですらないCOBOLのエンジニアの視点で書かれたOOPの書籍という現代では全く意味をなさない書籍であるという点である
本書はオブジェクト指向でなぜ作るのかというタイトルなのに、COBOLエンジニアであると思われる著者は「COBOLと違ってダンプファイルを読んでのデバッグが難しそうだなあ」とかいい出したり「昔はソースコードを紙に印刷して机上でデバッグして最後にマシンに入れてコンパイルしていた」などとオブジェクト指向とは無関係なソフトウェア開発の昔話をただひたすら繰り返す
実際、コボラーから見るとオブジェクト指向はまさにただの一技術、もっと言えばそういう文法の言語に過ぎないため、本書のような単にオブジェクト指向だと作りやすいからとかそういう内容になってしまうのは否めない。
ぶっちゃけコボラーが著者だとすると「クラスとは関数も持てる構造体です」のような理解の程度はともかく即座にコードを書いて設計ができるようになるような記述も書けるはずがないため本書には含まれていない
本書はコボラーというレガシー言語のエンジニアから見るとOOPはこのように見えているという発見はあるが、現代のITエンジニアはそのような歴史的な情報以外を一切手にすることができない
本書はオブジェクト指向でなぜ作るのかという問に一言も答えていない
ただ、レガシー言語のユーザーが過去と現在を比較して、現在のほうがいいなあ(だから現在の言語で作ろう)と述べているだけである
2021/10/04 第3版のレビューへの追記
本書を手にしてしまうとOOPを決定的に誤解してしまう可能性があり極めて危険であるのでもう少しだけ追記しておく
特に本書がターゲットとしている初~中級者エンジニアが本書を読んだ場合壊滅的なダメージを受けてしまう可能性があるので、その危機感からもうちょっと書き加える
まず本書のスタンスは一貫していてオブジェクト指向はただのそういう文法の言語のことであり、現実世界のモデリングとは何の関係もない、である
この時点で本書は決定的な誤解を招く書き方をしているということは上級者エンジニアには理解されると思う(が、中級者程度のエンジニアにはまさにそうだ! と受け取られかねない危険な記述である)
裏を返すと初~中級者エンジニアが「オブジェクト指向でなぜつくるのか」というタイトルに期待する内容の一つであるオブジェクト指向モデリングについて本書は殆ど触れていない
本書は無価値などころか危険な書籍であると思うので、その点を強調するために本書には書いていない(が、本書のターゲットとなっている読者層が知りたがる情報)についていくつか箇条書する
・どうしてメンバ変数をprivateにしてGetterとSetterを公開するんですか? 最初からメンバ変数をpublicにすればいいのでは?
→GetterとSetterには触れていない。また、アクセサによるメンバの公開範囲の話もプログラム言語の文法観点から触れているため、オブジェクト指向としてのアクセス修飾子の意味を一切本書は解説していない
・継承より委譲(コンポジション)の方が良いって聞きました! GoFはもう古いとも聞いたので詳しく知りたいです!
まず本書は継承をプログラム言語の1文法として解説している。そのうえでオブジェクトコンポジションの解説は含まれていない。特にGoFデザインパターンへの批判や現代ではどのように利用するべきかという情報は全く書いていない
・オブジェクト指向設計が苦手です! もっと設計について知りたいです!
本書はオブジェクト指向言語を「手続き型の文法とは異なるプログラミング言語の文法の1パラダイム」として解説している。
その説明の仕方自体は間違いだとは言い難いが「オブジェクト指向でなぜつくるのか」というタイトルと組み合わせると決定的な誤解を招き、エンジニアとしてのキャリアを潰しかねないかなり危険な内容の書籍となってしまう
つまり、本書はオブジェクト指向設計やUMLによるモデリングの話(特にその具体的な方法)の話があまりにも不足している
少しだけ擁護すると本書初版の出版当時はオブジェクト指向言語が過度にもてはやされていた時代であり、このような「ただのそういう文法の言語に何変な期待してるの?」と一石を投じる書籍はむしろ必要なものであった。
しかし、現代はもはやそういう時代ではない。
それどころか歴史的経緯を知らない(し、そんな20年前の業界の与太話など学ぶ理由もない)現代の初~中級者エンジニアがタイトルに惹かれて本書を手に取ると、とんでもない誤解をしてしまう可能性がある。
歴史書としては有力かもしれないが、本書はやはりよく注意して手に取るべき危険な書籍であることは間違いない
以下、第2版のレビューを転載
現代的なオブジェクト指向から入門したプログラマーには本書は全く不要である。
構造化がしっかりしているC言語から入った人ですら本書はおそらく不要である。
本書が必要なのはCOBOL頭のコボラーがJavaなどを必要になった場合だけである。
実際、読んでみると本書の大部分が構造化言語ですらないCOBOLとの比較であることに気づく。
せめてC言語との比較であればまだ読める内容だったのだろうが…。
「昔はダンプを読んでいた」
とかそんな情報、現代に必要です???
つまり、本書はオブジェクト指向言語とCOBOLというレガシー言語を比較してOOPの功罪を浮き彫りにしようとしただけの本であり、そのようなレガシー言語との比較である以上、現代において本書を読む意味はゼロである。
本書は「オブジェクト指向でなぜつくるのか」という問いに現代のプログラミングの観点からは全く答えていない。
「オブジェクト指向でなぜつくるのか」という問いへの答えを求めているのならば以下の二冊を薦める:
・Head First オブジェクト指向分析設計
・オブジェクト指向入門(バートランド・メイヤーの難しいやつ)
正直、OOPからプログラミングに入門した現代人には本書は不要どころか有害ですらあると思う。
2020/10/1追記
本書の内容の詳細を一部だけ見てみる。
OOP言語にはライブラリの概念があり、処理を使い回せるから便利みたいな記述があるが、これは実は著者がコボラーだという知識を持っていないと意図しているところが正しくは読み解けない。
COBOLという言語には関数の概念自体がなく、必要となる処理はたとえ汎用的に用いられるものであっても毎回その処理を用いる場所に書くのである。
つまり、コボラーは全く同じコードを毎日生産している。だから著者は「オブジェクト指向でなぜ作るのか」というテキストにライブラリの存在は有り難いという内容を盛り込んだのである。
また、COBOLでは変数は全てグローバル変数であるという知識を持っていると、メンバ変数の項の著者の意図を正確に読み解ける。
というか本書全体を貫く「昔は紙にソースコードを書いて机上でロジックを検討して最後にマシンに入れていた」とかそういう年寄りの昔話、「オブジェクト指向でなぜ作るのか」というタイトルの書籍に必要な情報なんですか?
そういう記述の歴史的価値は否定しないが、だったらソフトウェア開発昔話みたいな書籍を別に出版すればいいだけである。
本書からはOOPのことを一切読み取れない。というかCOBOLには構造体の概念すら存在しないので
「クラスは関数も同時に持てる構造体です」
というとりあえずソースコードを書けるようになる記述すら著者には難しかったはずである。
やたら評価が高いようであるが果たして本書から一体何を読み取っているのであろうか?
この商品をお持ちですか?
マーケットプレイスに出品する

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません 。詳細はこちら
Kindle Cloud Readerを使い、ブラウザですぐに読むことができます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識 単行本 – 2021/4/15
購入を強化する
『オブジェクト指向でなぜつくるのか』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
「これからの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
- 本の長さ372ページ
- 言語日本語
- 出版社日経BP
- 発売日2021/4/15
- ISBN-104296000187
- ISBN-13978-4296000180
この商品を見た後に買っているのは?
ページ: 1 / 1 最初に戻るページ: 1 / 1
出版社より


商品の説明
著者について
平澤 章
ウルシステムズ株式会社所属。
メインフレームによる金融システムからマイクロコンピュータを使った制御系システムまで、いくつかのシステム開発を経験した後、30代前半でオブジェクト指向モデリングとSmalltalk、(Observerパターンの)MVCフレームワークに出会い、衝撃を受ける。その後、技術コンサルティングの仕事を経て、2001年にウルシステムズのスタートアップに参画し、現在に至る。
著書/翻訳書:『UMLモデリングレッスン』(著、日経BP)、『リファクタリング 第2版』(共訳、オーム社)、『レガシーコード改善ガイド』(共訳、翔泳社) ほか
ウルシステムズ株式会社所属。
メインフレームによる金融システムからマイクロコンピュータを使った制御系システムまで、いくつかのシステム開発を経験した後、30代前半でオブジェクト指向モデリングとSmalltalk、(Observerパターンの)MVCフレームワークに出会い、衝撃を受ける。その後、技術コンサルティングの仕事を経て、2001年にウルシステムズのスタートアップに参画し、現在に至る。
著書/翻訳書:『UMLモデリングレッスン』(著、日経BP)、『リファクタリング 第2版』(共訳、オーム社)、『レガシーコード改善ガイド』(共訳、翔泳社) ほか
1分以内にKindleで オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識 をお読みいただけます。
Kindle をお持ちでない場合、こちらから購入いただけます。 Kindle 無料アプリのダウンロードはこちら。
Kindle をお持ちでない場合、こちらから購入いただけます。 Kindle 無料アプリのダウンロードはこちら。
登録情報
- 出版社 : 日経BP; 第3版 (2021/4/15)
- 発売日 : 2021/4/15
- 言語 : 日本語
- 単行本 : 372ページ
- ISBN-10 : 4296000187
- ISBN-13 : 978-4296000180
- Amazon 売れ筋ランキング: - 5,990位本 (の売れ筋ランキングを見る本)
- - 18位開発技法
- - 19位システム管理・監査
- - 47位ソフトウェア開発・言語
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。

著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
カスタマーレビュー
5つ星のうち4.4
星5つ中の4.4
68 件のグローバル評価
評価はどのように計算されますか?
全体的な星の評価と星ごとの割合の内訳を計算するために、単純な平均は使用されません。その代わり、レビューの日時がどれだけ新しいかや、レビューアーがAmazonで商品を購入したかどうかなどが考慮されます。また、レビューを分析して信頼性が検証されます。
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2021年8月26日に日本でレビュー済み
違反を報告する
64人のお客様がこれが役に立ったと考えています
役に立った
2022年1月26日に日本でレビュー済み
的外れな批判レビューに注目が集まっているので、注意喚起のため反論をしつつ本著のレビューとします。
「コボラーにオブジェクト指向を教えるための本(第2版から変化なし)」 / ザード@
https://www.amazon.co.jp/gp/customer-reviews/R26XJIVPIR7SQM
率直に言うとこのレビュアーは本の趣旨を読み違えており、内容も読み飛ばしていて十分に理解していません。
したがって当該レビューはあまり真剣に受け止めるべきものではないというのが私の意見です。
レビュアーの方はそれなりに勉強をされているエンジニアのように見受けられますが、このような的はずれなレビューを書き、それが評価されてしまっていることが非常に残念です。
この方がこのような批判を書くに至ったのであろう動機が、次の一文に読み取れると考えます。
> 初~中級者エンジニアが『オブジェクト指向でなぜつくるのか』というタイトルに期待する内容の一つであるオブジェクト指向モデリングについて本書は殆ど触れていない
このように書かれていますが、これは単に自分が期待した内容ではなかったというだけのことでしょう。
にもかかわらず本著は「OOPを決定的に誤解してしまう可能性があり極めて危険」「無価値などころか危険な書籍である」と断定をしており、およそ正しく本著を評価しているとは言い難いです。
そもそも目次に目を通せば、この方が知りたがっている具体的なモデリング手法や、批判のため引き合いに出している「本書には書いていない(が、本書のターゲットとなっている読者層が知りたがる情報)」ことなどを本著が扱っていないことは事前にわかると思うのですが... サブタイトル "知っておきたいプログラミング、UML、設計の基礎知識" を広く解釈してしまったのだろうと思います。書籍の選び方を間違えただけと言えるでしょう。
「無価値である」というのはこの方の感想なのでいいとしても、「危険である」「誤解を招く」といった批判は的はずれであり言い過ぎです。
ではこの方は一体何を「危険」「誤解を招く」としているのか? レビュー全体を読み解くと、
> 本書のスタンスは一貫していてオブジェクト指向はただのそういう文法の言語のことであり、現実世界のモデリングとは何の関係もない、である
> 「オブジェクト指向言語を「手続き型の文法とは異なるプログラミング言語の文法の1パラダイム」として解説してい」て「『オブジェクト指向でなぜつくるのか』というタイトルと組み合わせると決定的な誤解を招」く
という点に集約できそうです。
本著にはどのような歴史的経緯を経てオブジェクト指向 (OOP) 言語が生まれたかという事実とともに、 OOP 言語がその後のプログラミングパラダイムや設計論・モデリングにどのような影響を及ぼしたかが紹介されています。8〜9章に書かれているのですが、読んでないのでしょうね。
もちろんそれだけではなく、 OOP 言語においてメモリはどのように管理されるのか、 UML やモデリング、デザインパターンはどのような場面で活用され OOP 言語とはどういった関係にあるのか。そういった現代のプログラマにとって重要かつ基礎的な知識がわかりやすく紹介されている良著だと私は思います。
それだけにとどまらず、アジャイルや関数型言語など OOP と合わせて理解しておくべき概念やパラダイムも紹介されています。
伝統的な開発スタイルをとりがちな SIer や SES のような事業形態の企業であっても、また昨今増えている Rails などを使うスタートアップ系の企業であればなおさら、こういう基本的な学習を行う機会を設けている企業はそうないでしょう。
会社での新人研修を経て、あるいはスクールやオンライン講座で実践技術を学んで、自分で動くモノを作れるようになったくらいのエンジニアが一通りの経験を通してオブジェクト指向の基本を理解するのにちょうどよい入門書です。
まぁ、目次を読んだだけで本著がそういう内容の本だと想像できるのではないかなとは思います。
さらに親切なことには、各章の最後では「この章の内容をもっと詳しく学びたかったらこれらの本も読んでみてね」と参考書籍まで紹介されています。
そしてそこに、この方が知りたかったモデリングやデザインパターンを用いた設計の専門書も紹介されています。皮肉なことです。
また、かつてプログラミングはどのように行われていたかという歴史の紹介を「年寄りの昔話」と揶揄していますが、これも個人的には理解し難い感覚だなと思います。あくまで私の意見ですが。
自分が今使っている技術が、どのような経緯や歴史を経て今の形になったことを知ることは、すなわち過去にどのような課題があり、どう解決されてきたのかということを理解することです。
今目の前で起きている問題 (この方が本著を読んだ際に抱えていたであろう課題で言えば、モデリングのテクニック) さえ解決できればいい、というスタンスはまぁそれはそれでいいと思いますが、個人的には短絡的過ぎるのではと思います。
ここ数年のソフトウェアアーキテクチャのトレンドでいえば、例えば Monorepo とか Kubernetes とかを挙げる事ができると思いますが、じゃあなんでそれを使うのかということを理解せずにとりあえず使おうという話には普通ならないはずです。
それは現在では常識化した過去の技術においても同じだというのが私の考えです。あくまでソフトウェアエンジニアとして高みを目指すなら、という話かもしれませんけど。
著者が COBOL 時代を経験したシニアなエンジニアであることは確かのようですが、ウルシステムズといえば要求開発や要件定義、設計論などで著名な会社です。そこから出版している書籍である時点で、まず内容に対する一定の信頼性はあるでしょう。出版社や著書のプロフィールを考慮するのは、書籍の評価においてまずやるべきことです。ちゃんとした出版社だから必ずしも良い本だということはもちろんないのですが、コボラーが書いたのだからしょうもない本だというよりは、まともな評価ができると思います。
一応確認してみましたが、著者の平澤さんはかの有名なファウラーの『リファクタリング』なども共訳されていて、プログラミング論において実力・実績のある方だということが推察できます。
レビュアーは明らかに本をちゃんと読んでおらず、違和感を指摘しやすいポイントを恣意的に切り取って批判していると思います。
しまいには「(本著が読者の) エンジニアとしてのキャリアを潰しかねない」とまで書いていますが、これはさすがに言葉が過ぎるでしょう。
あまりにも書籍の内容からかけ離れた批判を書くと、偽計業務妨害罪や名誉毀損で訴えられる可能性も出てきますよ。
「コボラーにオブジェクト指向を教えるための本(第2版から変化なし)」 / ザード@
https://www.amazon.co.jp/gp/customer-reviews/R26XJIVPIR7SQM
率直に言うとこのレビュアーは本の趣旨を読み違えており、内容も読み飛ばしていて十分に理解していません。
したがって当該レビューはあまり真剣に受け止めるべきものではないというのが私の意見です。
レビュアーの方はそれなりに勉強をされているエンジニアのように見受けられますが、このような的はずれなレビューを書き、それが評価されてしまっていることが非常に残念です。
この方がこのような批判を書くに至ったのであろう動機が、次の一文に読み取れると考えます。
> 初~中級者エンジニアが『オブジェクト指向でなぜつくるのか』というタイトルに期待する内容の一つであるオブジェクト指向モデリングについて本書は殆ど触れていない
このように書かれていますが、これは単に自分が期待した内容ではなかったというだけのことでしょう。
にもかかわらず本著は「OOPを決定的に誤解してしまう可能性があり極めて危険」「無価値などころか危険な書籍である」と断定をしており、およそ正しく本著を評価しているとは言い難いです。
そもそも目次に目を通せば、この方が知りたがっている具体的なモデリング手法や、批判のため引き合いに出している「本書には書いていない(が、本書のターゲットとなっている読者層が知りたがる情報)」ことなどを本著が扱っていないことは事前にわかると思うのですが... サブタイトル "知っておきたいプログラミング、UML、設計の基礎知識" を広く解釈してしまったのだろうと思います。書籍の選び方を間違えただけと言えるでしょう。
「無価値である」というのはこの方の感想なのでいいとしても、「危険である」「誤解を招く」といった批判は的はずれであり言い過ぎです。
ではこの方は一体何を「危険」「誤解を招く」としているのか? レビュー全体を読み解くと、
> 本書のスタンスは一貫していてオブジェクト指向はただのそういう文法の言語のことであり、現実世界のモデリングとは何の関係もない、である
> 「オブジェクト指向言語を「手続き型の文法とは異なるプログラミング言語の文法の1パラダイム」として解説してい」て「『オブジェクト指向でなぜつくるのか』というタイトルと組み合わせると決定的な誤解を招」く
という点に集約できそうです。
本著にはどのような歴史的経緯を経てオブジェクト指向 (OOP) 言語が生まれたかという事実とともに、 OOP 言語がその後のプログラミングパラダイムや設計論・モデリングにどのような影響を及ぼしたかが紹介されています。8〜9章に書かれているのですが、読んでないのでしょうね。
もちろんそれだけではなく、 OOP 言語においてメモリはどのように管理されるのか、 UML やモデリング、デザインパターンはどのような場面で活用され OOP 言語とはどういった関係にあるのか。そういった現代のプログラマにとって重要かつ基礎的な知識がわかりやすく紹介されている良著だと私は思います。
それだけにとどまらず、アジャイルや関数型言語など OOP と合わせて理解しておくべき概念やパラダイムも紹介されています。
伝統的な開発スタイルをとりがちな SIer や SES のような事業形態の企業であっても、また昨今増えている Rails などを使うスタートアップ系の企業であればなおさら、こういう基本的な学習を行う機会を設けている企業はそうないでしょう。
会社での新人研修を経て、あるいはスクールやオンライン講座で実践技術を学んで、自分で動くモノを作れるようになったくらいのエンジニアが一通りの経験を通してオブジェクト指向の基本を理解するのにちょうどよい入門書です。
まぁ、目次を読んだだけで本著がそういう内容の本だと想像できるのではないかなとは思います。
さらに親切なことには、各章の最後では「この章の内容をもっと詳しく学びたかったらこれらの本も読んでみてね」と参考書籍まで紹介されています。
そしてそこに、この方が知りたかったモデリングやデザインパターンを用いた設計の専門書も紹介されています。皮肉なことです。
また、かつてプログラミングはどのように行われていたかという歴史の紹介を「年寄りの昔話」と揶揄していますが、これも個人的には理解し難い感覚だなと思います。あくまで私の意見ですが。
自分が今使っている技術が、どのような経緯や歴史を経て今の形になったことを知ることは、すなわち過去にどのような課題があり、どう解決されてきたのかということを理解することです。
今目の前で起きている問題 (この方が本著を読んだ際に抱えていたであろう課題で言えば、モデリングのテクニック) さえ解決できればいい、というスタンスはまぁそれはそれでいいと思いますが、個人的には短絡的過ぎるのではと思います。
ここ数年のソフトウェアアーキテクチャのトレンドでいえば、例えば Monorepo とか Kubernetes とかを挙げる事ができると思いますが、じゃあなんでそれを使うのかということを理解せずにとりあえず使おうという話には普通ならないはずです。
それは現在では常識化した過去の技術においても同じだというのが私の考えです。あくまでソフトウェアエンジニアとして高みを目指すなら、という話かもしれませんけど。
著者が COBOL 時代を経験したシニアなエンジニアであることは確かのようですが、ウルシステムズといえば要求開発や要件定義、設計論などで著名な会社です。そこから出版している書籍である時点で、まず内容に対する一定の信頼性はあるでしょう。出版社や著書のプロフィールを考慮するのは、書籍の評価においてまずやるべきことです。ちゃんとした出版社だから必ずしも良い本だということはもちろんないのですが、コボラーが書いたのだからしょうもない本だというよりは、まともな評価ができると思います。
一応確認してみましたが、著者の平澤さんはかの有名なファウラーの『リファクタリング』なども共訳されていて、プログラミング論において実力・実績のある方だということが推察できます。
レビュアーは明らかに本をちゃんと読んでおらず、違和感を指摘しやすいポイントを恣意的に切り取って批判していると思います。
しまいには「(本著が読者の) エンジニアとしてのキャリアを潰しかねない」とまで書いていますが、これはさすがに言葉が過ぎるでしょう。
あまりにも書籍の内容からかけ離れた批判を書くと、偽計業務妨害罪や名誉毀損で訴えられる可能性も出てきますよ。
2022年2月13日に日本でレビュー済み
Amazonで購入
結論はタイトルの通りです。
私はRustやHaskellのような型の表現力が強い言語を好む、業務でのプログラム作成を経験したことがない者です。
別にOOPを避けていた訳ではないのですが、私が好む言語はOOPを(全面的には)サポートしていないものばかりです。
Qiitaなどを見ていたら「クラス」や「継承」といったOOPの語彙が飛び交うし、業務ではPythonやJavaといったOOPをサポートした言語がよく使われるみたいなので、OOPがどういう概念なのか、なぜOOPは広く受け入れられているのかを知りたくなりました。
まずはネットでOOPとは何なのかを調べましたが、「OOPをサポートしていない言語でも、現代的な言語ならOOPでやりたいことは(表現の仕方は違えど)できるから、結局なぜOOPが持て囃されているのかよく分からない」と思いました。
そこで本書を見つけて、タイトルからしてまさに私が求めていることを書いてある本なのではないかと思い購入しました。
しかし本書には、「C言語の時代からの延長としてのOOPの利点」しか述べられておらず、「現代的な言語であってOOPをサポートしていない言語ではなく、なぜOOPをサポートした言語を使って作るのか」については述べられていませんでした。
従って、本書は私の疑問には答えてくれませんでしたので、私と同じようなモチベーションを持っている方は本書を読んでもあまりメリットはないと思います。
私はRustやHaskellのような型の表現力が強い言語を好む、業務でのプログラム作成を経験したことがない者です。
別にOOPを避けていた訳ではないのですが、私が好む言語はOOPを(全面的には)サポートしていないものばかりです。
Qiitaなどを見ていたら「クラス」や「継承」といったOOPの語彙が飛び交うし、業務ではPythonやJavaといったOOPをサポートした言語がよく使われるみたいなので、OOPがどういう概念なのか、なぜOOPは広く受け入れられているのかを知りたくなりました。
まずはネットでOOPとは何なのかを調べましたが、「OOPをサポートしていない言語でも、現代的な言語ならOOPでやりたいことは(表現の仕方は違えど)できるから、結局なぜOOPが持て囃されているのかよく分からない」と思いました。
そこで本書を見つけて、タイトルからしてまさに私が求めていることを書いてある本なのではないかと思い購入しました。
しかし本書には、「C言語の時代からの延長としてのOOPの利点」しか述べられておらず、「現代的な言語であってOOPをサポートしていない言語ではなく、なぜOOPをサポートした言語を使って作るのか」については述べられていませんでした。
従って、本書は私の疑問には答えてくれませんでしたので、私と同じようなモチベーションを持っている方は本書を読んでもあまりメリットはないと思います。
2022年1月7日に日本でレビュー済み
Amazonで購入
この本は大学の情報処理科の教科書、あるいは大学推薦の参考書に指定してもよいほど内容が優れています。
現在のシステム環境のプログラム開発技術の長所を、過去のプログラミング技術の歴史的変遷と比較しながら把握できるようになっており、しかもこの一冊で「現代のプログラム開発とは」の最高峰が一望できるように、かゆいところに手が届くように、わかりやすく書かれています。
なぜ、こうするのか、なぜ、こう書くのか、納得してプログラミングを始めることができます。
これからプログラミングを始めようという方には、必読の一冊と言って良いでしょう。
現在のシステム環境のプログラム開発技術の長所を、過去のプログラミング技術の歴史的変遷と比較しながら把握できるようになっており、しかもこの一冊で「現代のプログラム開発とは」の最高峰が一望できるように、かゆいところに手が届くように、わかりやすく書かれています。
なぜ、こうするのか、なぜ、こう書くのか、納得してプログラミングを始めることができます。
これからプログラミングを始めようという方には、必読の一冊と言って良いでしょう。