草プログラマー、それはつまり草

CS 会計 法律 サッカー 野球 bitcoin 数学 物理学 などいろいろやってます

【独学】プログラミング入門 おすすめ本・学習手順

これからプログラミングを始めたいけど何を読めばいいのかわからないという人に、全くの初心者にもおすすめできる本を紹介していきたいと思います。


どのプログラミング言語をやればいい?

いろんなプログラミング言語があって、どれをやればいいのか分からないという人はたくさんいると思いますが、結論をいってしまうとどれでもいいです

もちろん作りたいものが決まっているのなら、それに向いている言語を学ぶ必要がありますが、有名どころの言語はある程度やることになるのでどれからやってもそんなに大差はないと私は考えています。

多くの人はJavaやPython,Ruby,C言語等からはじめるようですが、別にLispからはじめたって何の問題もないですし。

最初はどの言語を学ぶかよりどの本で学ぶかが重要です


何をやればいい?

まずはプログラミング言語の基本を学ぶ必要があります。

関数やクラス、インスタンスなどの概念を理解することを目標としましょう

そのあとに、基本的なライブラリーの使い方、ファイルやネットワーク、文字列とかね、を使えるようになりましょう。

これらは多くの言語で共通する概念ですので、必ず知っておかなければありませんし、一度学ぶと他の言語の習得も早くなります。


Webやゲームを作ってみる

何か作りたいものがある人はそれを作ればいいです、というかそれの作り方を調べればいいです。

特に作りたいものが決まってない人はとりあえず、WebかUnityでゲームを作ってみればいいと思います。

ゲームはプログラミング言語の入門書で学んだことをたくさん使うことになるのですごくおすすめです。

Unityを使えば初心者でも短期間で結構それっぽいものが作れちゃいます。純粋にやってて楽しいのでとてもおすすめ。

Webもフレームワークを使えばそれなりのものが短期間で作れます。

とりあえず何か作ってみるといいです。


コンピュータサイエンスを学ぶ

いわゆるコンピュータサイエンスと呼ばれるような分野を学んでいきましょう。

まずはWebやゲームを作りながら同時進行でネットワークやデータベース、アルゴリズムの知識を増やしていきましょう。

またコンピュータアーキテクチャやオペレーティングシステム、コンパイラなども学んだほうがいいと思います。まあ一気にやるのは難しいのでのんびりやっていきましょう。

より本格的にやっていくなら、ラムダ計算や再帰みたいなプログラミング理論とかオートマトンとか情報理論とか符号理論とか束論・ファジ集合、並列処理、機械学習とかを学んでみましょう。


おすすめ本


まずは最初に書いたように、関数とか引数、クラスやインスタンスなどそういう基本的な概念を学ぶ必要があります。

どの言語をやるかというよりはどの本で学ぶかなので、そういう基本的な概念が最も分りやすく説明されている本を1冊紹介したいと思います。

スッキリわかるJava入門

スッキリわかるJava入門 第2版 (スッキリシリーズ)

スッキリわかるJava入門 第2版 (スッキリシリーズ)

本当に分かりやすいです。

私がいままで読んできた本の中で最も役に立った本です。というか救われました。

一番最初にこれを読んでおけばよかったなあってよく思います。

Javaを使うつもりかどうかはともかく、これからプログラミングをはじめる人にはこれをお薦めします。

他のプログラミング言語をやりたいという人はこの本を読んでからやるといいです。

私は最初に分かりづらい本を読んで一回挫折しているのですが、この本で基本をしっかりと押さえることができました。

中学生でも理解できるレベルで非常に丁寧な解説と分かりやすいですイラストがありますので、この本で挫折することはないと思います。

この本が分かりやすいと感じたら同じシリーズの実践編も読んでみるといいと思います。

スッキリわかるJava入門実践編

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)


文字列やファイル、ネットワークなどの基本的な扱いがわかるようになるはずです。

プログラミングの基本的なことはこの2冊でしっかりと押さえられます。

まずはこのぐらいの内容を理解する必要があります。

ここで学んだことは他の言語でも役立ちます。



プログラミング言語の基本を学んだあとはWebかゲームを作ってみましょう。

Unityの教科書

Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

とても分かりやすいです。

これからUnityを初めてゲームを作ろうというひとにおすすめできます。

非常に分かりやすいですが、ゲームの場合はプログラミングはもちろん、グラフィックとかそっちもかなりやらなくては行けません。

というかUnityの場合はコーディングよりグラフィックの方がなんなら時間かかる気がします。

イラストも書けた方がいいです。

絵とか音楽とかは案外いろんな時に役に立つので時間があるのならやっておきましょう。

Unityはすごく楽しいのでいろいろいじってみてください。



わかばちゃんと学ぶ Webサイト制作の基本

わかばちゃんと学ぶ Webサイト制作の基本〈HTML5・CSS3〉

わかばちゃんと学ぶ Webサイト制作の基本〈HTML5・CSS3〉


Webをやるなら書かせないHTML5&CSS3の基本を学べます。

またおまけ程度ですがphpも少しだけ学べます。

本格的にWebをやるなら、WebフレームワークやLinuxも学ぶ必要があります。

地道にやっていきましょう。





ネットワークやデータベース、アルゴリズムについては以下を参考にしてください

ネットワーク

今は何でもかんでもネットワーク繋げっている時代ですから、ネットワークについては知っておいた方がいいでしょう。

まあ基本はそんなに難しくはないのでそこまで苦戦はしないと思います。

www.neuralsparrow.com


データベース

多くのシステムはデータベースをつかいますから、データベースも知っておく必要があります。

まあ、SQLの使い方ぐらいは分かっておいたほうがいいです。

奥が深い分野ですの突っ込んでみると面白いかも。

www.neuralsparrow.com


アルゴリズム

アルゴリズムは絶対にやってください。

www.neuralsparrow.com


ここら辺は何を作るにせよ知っておいたほうがいいです。

仕事でやるならなおさらです。

Linux

サーバをやる場合は、大抵Linuxを使います。

Linuxを使う場面は多いのでやっておく価値はあります。

www.neuralsparrow.com




ここからはまあ興味がある人はやればいいと思います。何でもかんでもやると際限がないので。

形式言語・オートマトンとか

知っておいた方はいいとは思う。


www.neuralsparrow.com

機械学習

人工知能とか興味がある人はやっておくといい。

解析や線形代数の基本は知っていないといけません。

www.neuralsparrow.com

コンピュータアーキテクチャ

時間があるならやりましょう。

非ノイマン型とかもやってみると視野がひろがるかもしれません。

www.neuralsparrow.com

Copyright © 2016 へなちょこプログラマー All rights reserved.