【現役エンジニアが選ぶ】Web系プログラミングにオススメの入門本【独学可】

PROGRAM

Web系プログラミングの参考書選びで悩んでいる方に。

この記事を読まれている方は、

  • オススメのWeb系プログラミングの本を知りたい
  • 本の使い方を知りたい
  • 本で何を学べるかを知りたい

おそらくこのように考えている方が多いと思います。

この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。

この記事では、現役のエンジニアが、Web系プログラミングにオススメの本について、解説しています。

Web系プログラミングを習得するためには

Web系プログラミングを習得するためには

何を学ぶ必要があるか

Web系プログラミングでは、フロントエンド(ブラウザ側)とバックエンド(サーバー側)の両方の領域があるため、他のプログラミングと比べると学ぶべき言語は少し多くなります。

具体的には、以下の言語を最低限学ばないといけません。

  • HTML
  • CSS
  • PHP(Ruby、Pythonでも可)
  • JavaScript
  • SQL

これは一人で全工程を担当する場合ですので、最初に全てをマスターしている必要はないかもしれません。
しかし、一人前の開発者としては、最低限必要な知識になります。

未経験可の求人に応募するわけでなければ、これらの言語は必ず知っておくようにしましょう。

ここではWebの細かい仕組みやフローの解説は割愛しますが、フロントエンドの言語にあたるものがHTMLとCSS、JavaScriptです。これらの言語ではブラウザ側の挙動にかかわるものを実装します。HTMLとCSSは画面の構造や装飾にかかわる言語、JavaScriptはプログラミング言語になります。

一方で、バックエンドの言語にあたるものはPHP(Ruby、Python)とSQLです。これらの言語を使用してサーバー側の処理を実装します。PHP(Ruby、Python)はプログラミング言語で、SQLはデータベースを操作するための言語です。

最近割と多いAPIの開発ではバックエンドの開発だけで済みますし、逆にデータベースを使用しないような表面的なプログラムの場合は、フロントエンドの開発だけで済む場合があります。

案件は色々ありますが、開発者としてはフロントエンドとバックエンドの言語のいずれも知っておくことが求められます。

インプットとアウトプット

プログラミングを学習するにあたっては、大学受験や資格のときと同様に、インプットとアウトプットの両方のプロセスが必要です。上手いやり方は、アウトプットをベースにして必要に応じてインプットしていくことですが、最初は興味もあまり持てないですし、どのように実装してよいかもわからないので難しいと思います。

そのため、インプットとアウトプットのプロセスを分けて行う必要がある場合には、本はインプットのときにだけ利用できます。

ただし、本に書かれていることは基本的にはWeb上にたくさん転がっている情報が多いので、あえて本で学ぶ必要性が昨今はなくなってきています。

大学受験や資格の場合ですと、過去問を研究して対策をしないといけないので、それに特化した問題集や解説はWebページより本の方が圧倒的に多いため、本を使う意味がありました。

しかし、プログラミングに関しては、試験ではないので、学ぶことは基本の知識だけです。
そのため、プログラミングの基本知識だけなら、Webページで探せばよいので、本は基本的には不要なのです。

今の時代は、paiza.ioのようにブラウザ上で書いたプログラムを実行できる環境も整っているため、インプットもアウトプットもコンピュータ上で完結してしまいます。

本の立ち位置と使い方

それでは、プログラミングにおいては、本は全くの役立たずで、使う必要は一切ないかというと、そこまでは言いません。

先程も言いましたが、本が有効的な学習方法になりえるのは、Web上にわかりやすい情報がないときです。また、どのWebページよりも学びやすいコースを提供してくれている場合にも本は有効的になります。

ただし、そのような場合でも、プログラミングは基本的に書いて動作させるものですので、アウトプットがベースとなります。
本はわからないことを調べる逆引き的な使い方をするか、初期の段階で書き方やプログラミングの感覚を身に付ける目的での利用に限られると思います。

逆引きに関してはWebページの方が普通は情報が多いので、主に後者の目的で本を使用するのが一般的だと思います。

Web系プログラミングにオススメの本

Web系プログラミングにオススメの本

必要な本は2冊だけ

私が実際に使用した本はかなり少ないです。

しかし、別段自分に特別な才能があるわけでもないですし、努力も人並み程度です。
本を読まない分コンピュータ上でたくさん試行錯誤や学習をしているだけであって、学習量に関しては大差ないからです。

そんな私が使用した本ですが、これから紹介する2冊だけです。

勘違いしないで頂きたいのは、2冊読めば完璧、というわけではなく、本は補助的な使用に過ぎないということです。私の場合、大部分はWebページに転がっている情報から学び、実際に自分の手で書くことによって感覚を身につけています。

PHP、JavaScript

安全なWebアプリケーションの作り方/徳丸浩

セキュリティの脆弱性に関する情報は、Web上ではあまりわかりやすい情報がないため、それがこの本を買う大きな理由となっています。

Web系プログラミングでは、ただプログラムを設計・製造して動かせれば良いというだけではなく、セキュリティの脆弱性にも気をつけなければいけません。

むしろ、そこが最も、Web系への参入障壁を高くしている点ともいえます。
Webアプリケーションは、多くの場合、不特定多数からのアクセスを許容するものになるので、セキュリティリスクをきちんと分析し、対策を打つ必要があります。

そのため、Web系を専門外にしている企業は、Web系への参入を拒むケースもあります。単純に作って動かすだけであれば誰でもできますが、顧客企業の情報が駄々モレしてしまっては信用を獲得できないからです。

この本は、Webアプリケーションが悪用されないためには、どのような対策を施せばよいか、そのヒントを教えてくれます。

セキュリティに関しては、セキュリティエンジニアという職業もあるぐらいですので、この本に書いてあることを本当によく理解し実務経験を積めば、特に大手企業からは引っ張りだこだと思います。

この本はセキュリティに関することだけでなく、PHPやJavaScriptの基礎についても簡単に学べますので、Web系プログラミングの初心者にもオススメの本です。むしろ、初心者にこそ勧めたい本といえます。

SQL

SQL書き方ドリル/羽生章洋、和田省二

SQLの書き方なんていくらでもWeb上に情報がありますが、それでも、この本を薦める理由は、「Webページに情報がないから」ではなく「Webの情報よりもわかりやすい」からです。

カテゴリごとに、まず例題でベースとなる書き方が紹介されており、それをいくつもの問題の解答を実際に書いて解くことにより、効率的に覚えられる本の作りとなっています。

CD-ROMを使うことにより、SQLを実行できるソフトが手に入り、そこに表示された問題への解答を入力することで次に進めるので、本と言いながら、コンピュータ上で学習していくスタイルとなります。

SQLは、データベースを操作するもので、今後開発者として活躍していくためには必要不可欠な言語です。Web系プログラミングだけでなく、他のプログラミングやデータ分析の分野でも非常によく使われます。Excelで連携させることもできるので、エンジニアだけでなく、他の職業でも身に付けた知識は必ず役に立つと思います。

HTML、CSS(参考までに)

HTMLとCSSの本は紹介するものがありません。
こちらはProgateなどの学習サイトやサルワカなどの入門サイトを使いながら、自分で実際に書いて動かして覚えるやり方の方が効果的です。

私も一応書店で色々なHTMLやCSSの本を眺めてきましたが、どれもWeb上にある情報ばかりで、どの本も特別わかりやすいとも思えませんでした。

そのため、HTMLとCSSに関しては私からおすすめできる本はありませんし、事実Webサイトで学ぶほうが良いのだと思います。

まとめ:本は足りない情報を補うために使おう

基本はWebページの情報だけで足ります。足りない栄養素を補うサプリメント同様、本もWebページだけでは足りない情報を補うために利用しましょう。

本は主に独学の学習方法です。もし独学だとモチベーションの維持やサポートが不十分だと感じる場合には、プログラミングスクールに通うことが望ましいです。

プログラミングスクールに関しては、別の記事で解説していますので、興味がありましたら、ご覧下さい。