PHP学習者にお勧めの本10選

これまで、WEBアプリ制作のために、PHPを中心としてプログラミングに関する本を100冊ほど読んできました。そこで、一つの区切りとして、その100冊の中からプログラミング力の向上に効果があり、実際に役立つと思う書籍を10冊ほどピックアップして紹介したいと思います。

それでは、おすすめの読むべき順に、書籍の「目的、難度、効果、概要」等を簡単にですが紹介していきます。

1.パーフェクトPHP (PERFECT SERIES 3)

目的:PHP学習の総仕上げとして
難度:難
効果:大
言語:PHP
概要:PHPの文法の基礎から、フレームワークの制作まで。また、セキュリティについても学習できる盛りだくさんな一冊。PHP使いなら是非とも読んでおきたい書籍です。

2.SQLアンチパターン

目的:データベースとSQLの総仕上げとして
難度:普
効果:大
言語:SQL、PHP
概要:データベースとSQLの2つについて、誰もが疑問に思う躓き(つまづき)どころを、要点を絞って、かつ、必要十分に解説した貴重な一冊。データベースの設計は、あとから修正するのが困難なので、早い時期に学習しておきたい書籍です。

3.体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

目的:WEBアプリのセキュリティを万全にするために
難度:普
効果:大
言語:PHP、JavaScript、Java等
概要:WEBアプリの脆弱性とその防止策を網羅した貴重な一冊。WEBアプリの構築の際には、本書に書いてあるセキュリティ事項を常に意識してプログラミングすることが肝要です。

4.リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

目的:コーディングの適切なスタイルを習得するために
難度:易
効果:普
言語:C、Java等
概要:標準的なコーディングがどのようなものであるのかを学習し、そのスタイルを早い時期から意識することで、可読性の高いコーディングが可能となります。コーディング規約に縛られない、独学でプログラミングを学習している人におすすめの書籍です。サンプルコードは易しいので、言語を問わず読むことができます。

5.増補改訂版Java言語で学ぶデザインパターン入門

目的:デザインパターンの入り口として
難度:普
効果:大
言語:Java
概要:プログラミングの文法を学習した後の課題は、どのようにアプリケーションを制作するかです。それに答える設計の標準として「デザインパターン」が存在します。デザインパターンの習得は困難とも言われますが、本書は易しい解説となっているので、デザインパターンの入門として最適です。また、オブジェクト指向の理解が深まる効果も期待できます。

6.PHPによるデザインパターン入門

目的:デザインパターンをWEBアプリに活かすために
難度:普
効果:普
言語:PHP
概要:本書は、PHP言語を利用してデザインパターンを解説しています。デザインパターンの適用例がWEBアプリとなっているので、WEBアプリ制作者にとって貴重な一冊です。他のデザインパターン本と併せると理解が一段と深まります。

7.新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

目的:アプリケーションの改善力を高めるために
難度:難
効果:大
言語:Java
概要:既存のアプリケーションを改善する手法として「リファクタリング」が知られています。本書では、様々な改善手法が紹介されており、お手本がどのようなもであるかを意識して、一つひとつ実践することで、プログラミング力が向上します。その結果、よりよいコーディングとアプリケーションが一歩ずつ実現できるでしょう。

8.Java言語で学ぶリファクタリング入門

目的:リファクタリングの理解を深めるために
難度:普
効果:普
言語:Java
概要:書籍「リファクタリング」を、より簡単に易しく解説した書籍です。これら2冊を読み込むことで、リファクタリングの肝がよく見えてきます。要点を押さえるには本書が役に立つと思います。

9.パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

目的:デザインパターンとリファクタリングの総合的な学習のために
難度:難
効果:普
言語:Java
概要:リファクタリングは、デザインパターンと密接に関連しています。そこで、両者を関連付けて総合的に理解することが重要です。よりよい設計のためにデザインパターンを学習し、それを実現するためにリファクタリングを学習します。

10.オブジェクト指向における再利用のためのデザインパターン

目的:デザインパターンを深く理解するために
難度:難
効果:大
言語:C++
概要:「デザインパターン」の原典です。いわゆる「GoF本」として知られる有名な書籍です。プログラミングの学習の一つの到達点として、是非とも読んでおきたい一冊です。ただ、惜しむべきは、C++でサンプルコードが書かれているため、学習のハードルが一段ほど高くなっています。もっとも、C言語とJavaの既習者であるならば、C++の基礎を学習するのは困難でないため、C++の入門書を片手に、本書を読んでも理解できるのではないかと思います。本書を読了すれば、自己のプログラミング力に大きな自信が付いているはずです。

以上、これまでに読んだ本の中からおすすめの10冊をピックアップしました。もちろん、これら以外にも、良書はたくさんありますし、読んでいない本の中にも素晴らしい書籍があると思います。また、関数型言語等には手を出していないのでそれらの本も抜けています。

ここで紹介した本については、後半からデザインパターンとリファクタリング関連の本に偏ってしまった感もありますが、これらの事項を理解すれば、多くの言語でも通用するプログラミング力がつくのではないかと思います。

プログラミングを学習し始めた当初は、100冊以上読めばハッカーレベルの知識を獲得できると想像したものですが、現実には、それは妄想に過ぎませんでした。多少の自信は付きましたが、100冊を読了しても、まだまだスタートラインに立ったばかりという思いがします。

今後、余力があれば、ネットワークの分野とサーバーの分野についても100冊ずつくらい読んでみたいとも思います。合計で300冊も読めばハッカーに少しは近づけるのでしょうか?想像、もとい妄想がまた捗ります。

【注意】
上記本の紹介はページ作成時点での最新版です。時間の経過とともに、新たな版が出る可能性があるのでご自身にてご確認ください。

カテゴリー: BOOK, プログラミング全般 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。