ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

【技術書紹介】プログラマの考え方がおもしろいほど身につく本

今日は昼食にUber eatsを初めて利用して焼きそばを出前してもらいました、ねむーです。

今回はいつものAtCoderのプログラミング問題の解説ではなく、最近読んだ技術書の紹介です。

今回紹介する本は、「プログラマの考え方がおもしろいほど身につく本」です!

新品だと10000円超えてますが、Kindleだと1700円ぐらいで読めます。

0.どんな本?

例題を通じて、どのようにクラスや関数を設計するべきかが考え方付きで段階を追って書かれています!

実際の問題をコードに落とし込めない…という方には勉強になる本です。

1.読むべき対象の方

C,C++の基本的文法知識はマスターしてる方(ポインタの理解が必要レベル)

クラス、オブジェクト指向の考え方をなんとなく知ってる方(知らなくてもこの本で考え方はある程度定着します)

2.内容と感想

第1章 問題解決の戦略

最初の第1章で述べられるプログラマの問題解決テクニックは以下の通りです。

  • 計画をたてる
  • 問題を言い換える
  • 問題を分割する
  • 知っていることから始める
  • 問題を簡略化する
  • 類似点を探す
  • 実験する
  • イライラしない

どれも耳が痛いほど納得の内容ですね。

このテクニック内容を具体例を交えて2章以降で説明していく形式になっています。

第2章 パズル

2章では簡単なパズルを用いて問題の分割方法やどう問題を簡略化するかを学びます。

簡略化する際にはコードの再利用の話が出てきたり…

第3章 配列による問題解決

配列の特性であるランダムアクセスができる点や記述の点で簡易になるといった利点を、例を用いて学びます!

コード量って大事ですよね~(脳死vector使うのを反省)

第4章 ポインタと動的メモリによる問題解決

連結リストのデータ構造のサイズを可変にできる点やメモリリークの解説など…

やはり可変は便利ですね~~

第5章 クラスによる問題解決

クラスのカプセル化、コード再利用、問題の分割、情報隠蔽などを学びました。

クラスの構成方法の勉強になりました!

第6章 再帰による問題解決

先頭再帰と末尾再帰の具体例が書かれています。

再帰を使ってパラメータが増えるのはナンセンス、特に開始位置のパラメータを増やすお前のコードのことだ、と言われている気がしましたね…

第7章 コードの再利用による問題解決

コード再利用、ライブラリ、知識の増やし方についての解説です。

どうやってライブラリ知識を増やすのかという部分は必見です!

第8章 プログラマの考え方

自分自身のプログラマとしての成長計画や、スキルの身に着け方です。

ここだけでも買う価値に値するレベルのよい内容です!

3 最後に

実際の問題をコードに落とし込めない…

文法はわかるけど、コードを書く上でどう役立つのかわからない…

といった方に、コードへの落とし込み方の考え方を学べるよい本になってます。

今回のように、プログラミング技術向上のために読んだ技術書の感想を書く回も設けていきたいですね!

よかったら、スターの方押していただけると喜びます!