
応用情報技術者試験を受験するにあたり苦手なプログラミングを克服したく購入。
この本を読んで少しでもプログラムの理解が進めばありがたい。
基本情報
タイトル :書くスキルも設計スキルも飛躍的に上がる!プログラムを読む技術
著者 :岩松 洋
発行所 :株式会社日経BP
初版発行日:2024年9月30日
ISBN :978-4-296-07102-9
タイプ :ソフトカバー
目次情報
- 発刊に寄せて
- なぜプログラムを読む力が必要か
- 他人のプログラムを読むのが難しい理由
- 他人のプログラムが読みにくい7つの理由
- 「入力」と「出力」を探すのがコツ
- プログラムの読み方
- プログラム全体を把握する
- プログラムを読む前にすること
- プログラムを読むときにすること
- 効率良く1行ずつ読んでいくコツ
- 1行から入力と出力を読み取る
- 変数を読む
- 繰り返し文を読む
- 関数を読む
- クラスを読む
- 【実習】Pログラムを読む(入門レベル)
- 数当てゲーム
- 人対コンピュータの三目並べ
- 人対人の三目並べ
- 【実習】Pythonのモジュールを読む
- randomモジュールのrandrange()関数
- calendarモジュールのmonth()関数
- 【実習】業務システムを読む
- 顧客管理システム
※目次リストは本書目次より抜粋して記載しております。実際の目次内容とは異なります。
個人的評価
超個人的に独断と偏見を多分に含む評価を星5段階で表します。
▶オススメ度
初級プログラマがステップアップするために今までにない角度からのアプローチといえるだろう。まだまだ私の実力ではこの本の本当の魅力は伝えきれていないだろう。
書籍内で示されているソースコードについては、サンプルとしてWeb上で提供されているので実際にダウンロードして挙動を確認できることもありがたい。
▶よみやすさ
難しいプログラミング用語が羅列されているわけではなく、プログラミング初学者にも読みやすい内容になっている。例として示されているはじめのころはコードも難解なものではないが徐々に難易度が上がっていく。
▶専門性
全くプログラミングに触れてこなかった方については、示されているコードの意味がわからず意味をなさない。基本的なプログラミングを一周した方がステップアップを目的に読む本であろう。特に本文で例として示されるコードは基本的にはPythonで書かれているのでPythonがわかる必要がある。
▶読後感
全体的なページ数としては、多くないが読むのに時間がかかったイメージがある。プログラミングの能力が未熟だとなかなか内容を理解するのは難しく挫折する可能性もあり。
こんな方におすすめ!!
- プログラミング初学者
特にPythonについて相当量学んでいる方 - プログラミングについてステップアップしたいと考えている方
どんな本??
Chapter1では、著者の経験をもとにプログラムを読む重要性を説いている。”「プログラムを読む」ことができないと、プログラムが書けない、もしくは書き始めるのに大変苦労する”と著者は説く。また、実際の開発現場でのプログラムを読む機会を例示することで開発全体でのプログラムを読めることの必要性を示している。
Chapter2では、他人が書いたプログラムがなぜ読むのが難しいのか、その原因である7つの要因を示している。私自身も自分で作ったプログラムを時間が経って見直してたときどんな処理をしているのか理解できないことがよくある。自分で書いたプログラムでそうなのだからプログラミングのスキルや考え方の違う人間が書いたコードが読みにくいのも当然と言えよう。具体的になぜ難しいのか示された要因を見ると納得する。すべての要因は”プログラムを書く人と読む人との間にギャップ”に起因する。そのギャップについて説明している。
Chapter3では、プログラムの読み方、読むときの考え方をしめしている。プログラムの基本は入力→処理→出力というプロセスになっている。入力、処理、出力を事例をもとに説明している。
読み方としては、全体を把握したうえで細部を分析することが大切だと説く。そして、全体を把握する際も1行を読む際にも入力、処理、出力を把握しながらプログラムを読むことで内容の理解が進む。
Chapter4では、プログラム全体の把握の仕方を具体的に説明している。ドキュメントを読む際も入力、処理、出力を意識して読み込むことでシステムへの理解を深めプログラムを読む助けになる。ドキュメントについて、事例を交えながら読むポイントを整理してくれている。プログラムを効率的に読むには順序があり、まずはメイン部分を読み解くことから始まる。
Chapter5では、例題をもとにプログラムを1行ごとに分解し解説することで読み解き方を示している。1行ごとに読む場合も基本は入力、処理、出力を見ていくことになるがより具体的に読み込むために必要な観点を示している。入力・出力のほか、変数、繰り返し文、巻子、クラスの読みについて解説している。
Chapter6では、これまでに学んだプログラムを読むテクニックを使った実習となっている。はじめはランダムに選んだ数字を当てる簡単なゲームから徐々に難易度をあげている。プログラミング初学者は、読み進めることを目的とせずにじっくりと理解できるまで自分で考えてソースコードを読む訓練を積みたいところである。
Chapter7では、より難易度が上がりPythonモジュールの関数を読み解くトレーニングになる。まずは、関数を動かしてみてどのような入力・処理・出力をしているかを考察しそれから実際にプログラムを読む手順を取っている。
Chapter8では、業務システムを読む訓練に入る。外部仕様や詳細設計が示されより実践的なトレーニングになる。インポートするモジュールも1つと比較的簡単な業務システムのプログラムではあるが、初学者にはなかなかなハードルである。しっかりと学んでいる方や業務等でプログラミングに携わっている方ならば容易な内容かもしれないが独学でプログラミングを学び始めた私のような初学者には説明されていることをすぐには理解できない。これまでの説明を何度も読み込みいろいろなプログラムを読み込み徐々にレベルをあげていかなければこの本を攻略するのは難しいのだろう。ただ単に私の能力が足りないだけなのだが。
個人的気づき・印象に残った言葉
テストはコーディングよりも1.5倍から2倍の時間がっかかるのが一般的
日頃、直接開発現場やシステム開発に携わっていない私としては、リアルな開発現場の事情を知ることができて勉強になった。
最後に
今やAIに聞けばプログラムを返してくれる時代である。しかし、そのプログラムをそのまま使用できることは稀である。生成されたプログラムを自分の構築するシステムに組み込むためにはプログラムを読む力が必須である。ひょっとするとこれからの時代いちから自分でプログラムを書くことよりも生成されたプログラムを解読し組み込む能力が求められるのかもしれない。
私にはまだまだこの本が説く内容を理解するには能力不足であった。もっともっと鍛錬を積みプログラムを読み書きしてから改めてこの本を読むことでこの本の真価を得ることができると思う。
お読みいただきありがとうございました。
拙い紹介でしたがいかがでしたでしょうか?
記事はあくまでも未熟者である私の感想になりますので、ぜひあなた自身で本をお読みいただき、どのように感じたのかをコメントいただけると嬉しいです。
あなたの読書ライフのお役に立てていれば幸いです。
コメント