プログラミング初心者におすすめの参考書について解説していきます。
これからプログラミングを学習するとき
「初心者でも挫折しないで理解できる教材」とか「最短でスキルが身につく参考書」が欲しいなぁ・・・
というように思いませんか?
特に初心者にとって学習書選びは重要です。
しかし、「自分のレベルに合わない書籍」を選んでしまうと挫折してしまいます。
今回の記事では「色々なレベルのプログラマが自己学習をするための最適の本」を幾つか掲載していきます。
これを参考にして、自分のレベルに合った書籍を選びましょう。
そうすれば短期間でプログラミングを習得できますよ!
目次
初心者・超初心者のためのプログラミングの入門におすすめの本
初心者・超初心者はまず基礎固めの本を買いましょう。
自分はゲームプログラマになりたいからゲームプログラミングの本を買おうかな
という人がいますがいきなり専門書を買っても理解できません。
初心者向けと書かれていても、実際にはプログラマとしての「経験を1年以上」を前提に執筆されていることが大半なのです。
なので初心者は、本当に入門者向けの本を選ぶ必要があります。
まず、基礎を固める上で最適な本を紹介します。
はじめてのプログラミング学習にはこの本!『おうちで学べるプログラミングのきほん』
著:河村進
出版社 翔泳社
プログラミングを初めて学ぶ人にお勧めの本は、『おうちで学べるプログラミングのきほん』です。
この書籍の特徴は言語に特化したものではなく、
- なぜプログラムが動くのか
- オブジェクト指向とは何か
といった基本的な知識・概念を記載した本になります。
いきなり「オブジェクト指向」と言われても意味が分かりません。
実際に「java」などの高水準言語を勉強する人が、その概念が理解できずに挫折していきます。
そういった挫折者を出さないためには「概念」を理解しておく必要があります。
どの言語に特化するなどはこの本を読んでプログラミングの概念を理解してからでも全く問題ありません。
「そもそも論理思考ってなに?」な初心者におすすめ!『アルゴリズムの絵本』
著:株式会社アンク
出版社 翔泳社
論理思考が分からない人にお勧めの本は『アルゴリズムの絵本』がおすすめ
プログラマにとって論理思考はとても重要です。
なぜなら常にゴールから逆算してプログラムを構築しなければならないからです。
なので、論理的に考えることに慣れていないもしくは苦手意識がある人にこそ読んで頂きたい本です。
わかりやすく簡単!漫画でプログラミングが学べる本『マンガでざっくり学ぶプログラミング』
著・監修:たにぐちまこと
出版社 マイナビ出版
漫画でプログラミングを学びたい人にお勧めの本は『マンガでざっくり学ぶプログラミング』です。
漫画で描かれたプログラミングの本は星の数ほどありますが、この本が一番オススメです。
本<の中では「サンプルプログラム」も記載されています。
また簡単にまとめられているので初心者でもとっつきやすいです。
初心者としては「ざっくり」とプログラミングが理解できれば大丈夫です。
あとは、自分が進みたい道や、プログラミングをした言語に関する専門書(後述)を購入して勉強しましょう。
プログラミングの基本的な考え方を学ぶのにおすすめの本4選
「プログラミングの基本的な考え」というとかなり幅が広くなり、初心者は漠然としてしまいます。
なので
- 理論的な考え方
- プログラミングはどういったものか
の概念について記した本を紹介します。
『リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック』
著:角 征典
出版社 O’Reilly Japan
きれいなコードが書けるようになりたいなら『リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック』がおすすめです。
初心者プログラマが作ったプログラムはスパゲッティソース(複雑になり過ぎていて読み切れないコード)になる傾向があります。
開発において読みやすいコードを書くことはとても重要なことです。
綺麗にプログラムを書くことで、「その後のメンテナンス」も容易になります
また結果的に効率的なプログラムにもなります。
なので初心者のうちからきれいなコードを書くために読むことをおすすめします。
プログラマの考え方がおもしろいほど身につく本-問題解決能力を鍛えよう!
著:角 征典
出版社 アスキー・メディアワークス
根本的な問題解決能力を磨くなら『プログラマの考え方がおもしろいほど身につく本-問題解決能力を鍛えよう!』がおすすめです。
この本は実際に筆者が若手プログラマに対して使ったことがある本です。
ただプログラミング言語を習得しても開発はできません。
問題を解決する方法を知ってそれを実行する手段としてプログラミングが使用されます。
若手プログラマが陥りやすい「何をどのように書いたら良いかわからない」という問題を解説しています
また、どのようにアプローチをすればよいかが書いてあります。
プログラミング業界の実態を知る『アホでマヌケなプログラミング』
著:Lepton
出版社 翔泳社
プログラミング業界のリアルな実態が知りたいなら『アホでマヌケなプログラミング』がおすすめです。
これは10年以上間に出版された本ですが、今でもその考えは通用する本です。
実際のプログラミング現場であったプログラマの悲劇をコミカルに描いています。
- なんで不具合がなくならないのか
- なんで金融系のプログラマは炎上するのか
などプログラマとして仕事をしている身としてはかなり痛いところを的確に突かれています。
「今でもその考えは通用する」と記載しましたが、残念ながらビジネスとしてのプログラミングはこの10年で殆ど進歩していません。
「言語やツールの進歩」に「それを使う人間の頭が追い付いていない」という現実があるのです。
そういったIT業界の内情を赤裸々に記載した本になります。
反面教師にもなりますし、不具合やトラブルが絶えない本当の理由がよくわかります。
筆者はこの本を反面教師のバイブルとしています。
『Manage It!- 現場開発者のための達人式プロジェクトマネジメント』
著:Johanna Rothman
出版社 Ohmsha
開発におけるリスクとマネジメントを学ぶなら『Manage It! 現場開発者のための達人式プロジェクトマネジメント』がおすすめです。
この本はどちらかというとプログラマ向けというよりは
- プロジェクトマネージャ
- プロジェクトリーダー
- システムエンジニア
向けの本です。
現場レベルで5年以上のプログラマ経験を積み、中級~上級プログラマになると必然的に上流工程の仕事が入ってきます。
プログラミングの現場におけるリスクのうちの殆どは、この上流工程の破綻や上流工程の見積もりの甘さが原因です。
ある程度プログラミングができるようになり、ステップアップをする人は是非読んでほしい本になります。
言語別に学習するためのおすすめの本
初心者は文法の解説が詳しく、サンプルが多い本がおすすめです。
技術書の中には文法の説明が少ないものがあります。
また、一定の知識がある前提で話が進んでいく書籍もあります。
なので
- 文法の解説が詳しい
- サンプルコードが豊富
といった書籍がおすすめです。
それを踏まえて、ここでは言語別に参考書籍をまとめました。
HTML/CSSを学ぶなら『本当によくわかるHTML&CSSの教科書』がおすすめ
著:鈴木 介翔
出版社 SBクリエイティブ
CSSを学ぶなら『本当によくわかるHTML&CSSの教科書』がおすすめです。
「HTML」と「CSS」は主にWebサイトを作るための言語です。
比較的習得しやすいので初心者にもおすすめです。
それだけではなく、「Webページの公開の仕方」も解説しています。
なので「サーバとはなにか」といったインフラ周りの話についても多少ではありますが理解をすることができます。
PHPを学ぶなら『独習PHP』がおすすめ
著:山田祥寛
出版社 翔泳社
PHPを学ぶなら『独習PHP』がおすすめです。
PHPはWebサイトの中のでーだのやり取りを管理したりする言語です。
現在毎年と言っていいほど新しい本が出ます(それだけPHPはバージョンやフレームワークのリリースが早いということです)。
この本ではWebに関する基礎からインフラまで幅広く学べます。
なのでPHPの技術だけでなく、
- クライアントプログラミングとサーバプログラミング
- 動的ページと静的ページ
- WindowsやLinux環境でのPHP開発の構築手順
を学べます。
ただ、初心者向けかといわれると完全な初心者は少し戸惑うかもしれません。
少しプログラムをかじった程度の知識はあると十分に理解できる内容になっています。
JavaScriptを学ぶなら『改訂新版JavaScript本格入門 モダンスタイルによる基礎から現場での応用まで』がおすすめ
著:山田祥寛
出版社 技術評論者
JavaScriptを学ぶなら『改訂新版JavaScript本格入門 モダンスタイルによる基礎から現場での応用まで』がおすすめです。
JavaScriptはWebサイトの外観や動的な処理(カーソルをクリックしたら色が変わるなど)を実行できる言語です。
AJAXとはJavascriptを使ってサーバーとデータのやり取りができる仕組みです。
正直Javascriptの独習はあまりおすすめできません。
簡単なコードを書けるのはいいことだと思います。
一言でJavaScriptといっても、
- MVCに特化した書き方
- Angular.js
- オーソドックスなHTML上でのjavascript
などかなり幅が広いです。
この本は確かにMVCやAJAXについても触れています。
しかし本格的なJavaScriptはプログラマとして仕事をするようになってから、環境に応じた物を習得したほうが早いです。
筆者も本こそは持っていますが、その通りのプログラミングをしたことはほとんどありません。
それぞれの環境に応じたJavaScriptのプログラムを読みながら試行錯誤の上、習得しています。
Javaを学ぶなら『独習Java』がおすすめ
著:Joseph O’Neil
出版社 翔泳社
Javaを学ぶなら『独習Java』がおすすめ
Javaはサーバーとのデータのやり取りから、スマホアプリまで幅広く使用されている言語です。
この本は入門レベルの本であり
- Javaの基礎
- JDBC
- コレクションの使い方
といったところまで丁寧に解説しています。
ただ、開発ではJava以外のサービスを使ったりします。
この本ではJavaの基礎的なことは記載されていますが、あまり実践的な内容は書かれていません。
Javaの基礎を学ぶなら最適ではあります。
しかし、より実践的な技能を習得するとなるとそれぞれの環境に特化した書籍が必要になります。
例:Spring Frameworkなら「Spring徹底入門」
Swiftを学ぶなら『詳細! Swift 4 iPhoneアプリ開発 入門ノート』がおすすめ
著:大重美幸
出版社 ソーテック社
Swiftを学ぶなら『詳細! Swift 4 iPhoneアプリ開発 入門ノート』がおすすめです。
「Swift」はiphoneなどのiosアプリを作るための言語です。
Swiftは市場がまだ若く、完全初心者向けの書籍は少ないです。
「入門」と書かれた本は確かにあります。
「入門」と書かれた本はエンジニア視点で読んでみると内容は非常に薄くて現場で通用しないというのが正直なところですね。
この本はサンプルコードの量が多く、実際に現場レベルで使われているようなプログラムもあります。
途中までは理解できるかもしれませんが、Swiftの基本文法の章を抜けると一気に難易度が増します。
本を読んで理解するのではなく、実際にプログラムを書き、どういった動きをしているのか追っていかないと理解できません。
Pythonを学ぶなら「いちばんやさしい Python入門教室」がおすすめ
著:大澤文孝
出版社 ソーテック社
Python初心者は『いちばんやさしい Python入門教室』がおすすめです。
「Python」は
- 機械学習
- AI
などを開発するのにつかわれる言語です。
Pythonの初心者向けの独習本ではこれを除くことはありえません。
本当に入門者向けに作られた本です。
しかし、Pythonの現場は「Java」や「C#」のような成熟した環境ではありません。
そのため、そこまで複雑なプログラミングをさせられることはないので、この本でも十分事足りる内容になっています。
AndroidアプリではまだUnityやPHPなどが幅を利かせています。
けれど「Python」は確実に伸びてきていて、今後も需要が高まってくると言われる言語です。
この本ではゲームやAndroidアプリの作り方も解説しています。
初心者でも楽しく学べて、いざゲームの仕事が入ったときには即戦力になれる一冊です。
プログラミングの本は初心者にとっていらないのか無駄なのか
プログラミングの本は無駄ではありません。
プログラミングの本は選ぶにあたってかなり苦労するかと思います。
筆者も数十冊ある本から実際にピックアップするのに物凄く苦労しました。
中には「買って失敗した」という本も数多く存在します。
プログラミングの書籍に対しては通算で100万円以上使っています。
例え失敗したと思う本であっても、将来的にその本が理解できて、実際に役に立つケースも多く存在します。
初心者がまずやることはトライアンドエラー
初心者はパソコンでソースコードをいじり、トライアンドエラーを繰り返してプログラミングを学びましょう。
プログラミングの本を買って何十回読んだところでプログラミングができるようにはなりません。
まず、本に書いてあることを自分でプログラミングしてみましょう。
- 値を変える
- 分岐を変える
などをしながらその動きを分析して、著者の意図を理解するしましょう。
最初はソースコードを変えるとエラーが発生します。
どうしてエラーが発生したのか考えてみましょう。
そうすると最初は全く分からなくても、次第にプログラムが理解できるようになります。
プログラムが理解できるようになると、少しプログラムを弄ってみたくなったり、改良を考えてみたりしたくなります。
その繰り返しこそが本を買うことに対する一番の収穫になります。
今現場の最前線でプログラマとして仕事をしている人も最初はプログラミングのプの字も知らない素人でした。
全員本を買ったり、サイトを調べながら何度トライアンドエラーで知識を深めていきました。
その結果、プログラミングを仕事にしています。
なのでまずはコードを考えながらいじってみましょう。
初心者にわかりにくい参考書の特徴
ポケットリファレンス」と書いてある本は初心者には向きません。
初心者が絶対に買ってはならないタイプの本は存在します。
これは本を否定・批判する意図は全くありませんので、予めご承知おきください。
ポケットリファレンスが初心者に合わない理由として、大きく3つの理由があります。
- サンプルコードの実例が少なすぎる
- 一般的な文法でしか説明をしていない
- 初心者向けと謳っているものは内容が薄すぎる
サンプルコードが少なすぎる本は初心者にとっては致命的です。
また、サンプルコードの解説も少ないです。
また構文の使い方が記載されていない場合があります。
例として実際にC#のポケットリファレンスのListの使い方の内容です。
typedList.Add(Type t):
typedList.RemoveAt(Int index);
ちなみにそのまま打つとエラーになります。
このように実例を一切挙げずただ文法だけを説明しているポケットリファレンスは数多く存在します。
なのでポケットリファレンスはある程度知識がある前提で書かれているので、初心者向けではありません。
未経験からエンジニア転職!
副業・フリーランス転職にも完全対応!
社会人がエンジニア転職するなら
『プログラミングジャパン!』
まずは無料体験レッスンで詳しく話を聞いてみよう!