【独学】プログラミング入門 おすすめ本・学習手順
これからプログラミングを始めたいけど何を読めばいいのかわからないという人に、全くの初心者にもおすすめできる本を紹介していきたいと思います。
どのプログラミング言語をやればいい?
いろんなプログラミング言語があって、どれをやればいいのか分からないという人はたくさんいると思いますが、結論をいってしまうとどれでもいいです。
もちろん作りたいものが決まっているのなら、それに向いている言語を学ぶ必要がありますが、有名どころの言語はある程度やることになるのでどれからやってもそんなに大差はないと私は考えています。
多くの人はJavaやPython,Ruby,C言語等からはじめるようですが、別にLispからはじめたって何の問題もないですし。
最初はどの言語を学ぶかよりどの本で学ぶかが重要です。
何をやればいい?
まずはプログラミング言語の基本を学ぶ必要があります。
関数やクラス、インスタンスなどの概念を理解することを目標としましょう。
そのあとに、基本的なライブラリーの使い方、ファイルやネットワーク、文字列とかね、を使えるようになりましょう。
これらは多くの言語で共通する概念ですので、必ず知っておかなければありませんし、一度学ぶと他の言語の習得も早くなります。
Webやゲームを作ってみる
何か作りたいものがある人はそれを作ればいいです、というかそれの作り方を調べればいいです。
特に作りたいものが決まってない人はとりあえず、WebかUnityでゲームを作ってみればいいと思います。
ゲームはプログラミング言語の入門書で学んだことをたくさん使うことになるのですごくおすすめです。
Unityを使えば初心者でも短期間で結構それっぽいものが作れちゃいます。純粋にやってて楽しいのでとてもおすすめ。
Webもフレームワークを使えばそれなりのものが短期間で作れます。
とりあえず何か作ってみるといいです。
コンピュータサイエンスを学ぶ
いわゆるコンピュータサイエンスと呼ばれるような分野を学んでいきましょう。
まずはWebやゲームを作りながら同時進行でネットワークやデータベース、アルゴリズムの知識を増やしていきましょう。
またコンピュータアーキテクチャやオペレーティングシステム、コンパイラなども学んだほうがいいと思います。まあ一気にやるのは難しいのでのんびりやっていきましょう。
より本格的にやっていくなら、ラムダ計算や再帰みたいなプログラミング理論とかオートマトンとか情報理論とか符号理論とか束論・ファジ集合、並列処理、機械学習とかを学んでみましょう。
おすすめ本
まずは最初に書いたように、関数とか引数、クラスやインスタンスなどそういう基本的な概念を学ぶ必要があります。
どの言語をやるかというよりはどの本で学ぶかなので、そういう基本的な概念が最も分りやすく説明されている本を1冊紹介したいと思います。
スッキリわかるJava入門
- 作者: 中山清喬,国本大悟
- 出版社/メーカー: インプレス
- 発売日: 2014/08/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (19件) を見る
本当に分かりやすいです。
私がいままで読んできた本の中で最も役に立った本です。というか救われました。
一番最初にこれを読んでおけばよかったなあってよく思います。
Javaを使うつもりかどうかはともかく、これからプログラミングをはじめる人にはこれをお薦めします。
他のプログラミング言語をやりたいという人はこの本を読んでからやるといいです。
私は最初に分かりづらい本を読んで一回挫折しているのですが、この本で基本をしっかりと押さえることができました。
中学生でも理解できるレベルで非常に丁寧な解説と分かりやすいですイラストがありますので、この本で挫折することはないと思います。
この本が分かりやすいと感じたら同じシリーズの実践編も読んでみるといいと思います。
スッキリわかるJava入門実践編
スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)
- 作者: 中山清喬
- 出版社/メーカー: インプレス
- 発売日: 2014/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
文字列やファイル、ネットワークなどの基本的な扱いがわかるようになるはずです。
プログラミングの基本的なことはこの2冊でしっかりと押さえられます。
まずはこのぐらいの内容を理解する必要があります。
ここで学んだことは他の言語でも役立ちます。
プログラミング言語の基本を学んだあとはWebかゲームを作ってみましょう。
Unityの教科書
Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)
- 作者: 北村愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/06/21
- メディア: 単行本
- この商品を含むブログ (1件) を見る
とても分かりやすいです。
これからUnityを初めてゲームを作ろうというひとにおすすめできます。
非常に分かりやすいですが、ゲームの場合はプログラミングはもちろん、グラフィックとかそっちもかなりやらなくては行けません。
というかUnityの場合はコーディングよりグラフィックの方がなんなら時間かかる気がします。
イラストも書けた方がいいです。
絵とか音楽とかは案外いろんな時に役に立つので時間があるのならやっておきましょう。
Unityはすごく楽しいのでいろいろいじってみてください。
わかばちゃんと学ぶ Webサイト制作の基本
わかばちゃんと学ぶ Webサイト制作の基本〈HTML5・CSS3〉
- 作者: 湊川あい
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2016/06/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
Webをやるなら書かせないHTML5&CSS3の基本を学べます。
またおまけ程度ですがphpも少しだけ学べます。
本格的にWebをやるなら、WebフレームワークやLinuxも学ぶ必要があります。
地道にやっていきましょう。
ネットワークやデータベース、アルゴリズムについては以下を参考にしてください
ネットワーク
今は何でもかんでもネットワーク繋げっている時代ですから、ネットワークについては知っておいた方がいいでしょう。
まあ基本はそんなに難しくはないのでそこまで苦戦はしないと思います。
データベース
多くのシステムはデータベースをつかいますから、データベースも知っておく必要があります。
まあ、SQLの使い方ぐらいは分かっておいたほうがいいです。
奥が深い分野ですの突っ込んでみると面白いかも。
Linux
サーバをやる場合は、大抵Linuxを使います。
Linuxを使う場面は多いのでやっておく価値はあります。
ここからはまあ興味がある人はやればいいと思います。何でもかんでもやると際限がないので。