仕事や趣味でプログラミングを勉強したいという人も多いですよね。
しかし、専門的な分野のためスクールに通わなければ行けないとハードルを高く設定している人も。
そこでこの記事では、
- プログラミングを一から独学で勉強する方法
- おすすめの参考書と口コミの紹介
- 勉強を継続するためのコツ
について解説していこうと思います。
プログラミングを独学で勉強するための入門法。初心者の勉強方法
初心者がプログラミングを一から勉強するためには、どんな方法が有効なのでしょうか?
今日もHTMLとCSSの練習。
参考書やネット情報みながらひたすら手を動かしております。やはり、プログラミング関係の勉強は実際に手を動かして動作&表示させるに限る。こうやればこう表示できるんだ、と体感することで理解が早まる。#駆け出しエンジニアと繋がりたい #プログラミング学習 pic.twitter.com/8edMfrRR9i
— Hiroki@Webエンジニア勉強中🔰 (@hiroki_web) June 18, 2019
この投稿をInstagramで見る
このように、参考書を使って自分で勉強している人も多くいるようですね。
参考書など本を買って読む
とはいえ、全く0から勉強を始める場合はどんな参考書を選べばいいのか分からないという方も多いはず。
そこでこちらでは、初心者におすすめの参考書を3冊口コミと一緒にご紹介していきますね。
これからはじめるプログラミング基礎の基礎
これからはじめるプログラミング基礎の基礎
シリーズ累計で10刷を突破した、プログラミング入門の決定版とも言える著書です。
最新版の改定では、説明を分かりやすくしてプログラミングや言語への理解が深まるように工夫されています。
専門用語なども分かりやすく噛み砕いて表現してくれているので、全くプログラミングの知識がない人や学生の方からも支持されています。
図やイラストも多用されているので、感覚的に分かりやすいのが特徴です。
電子版もあるので、スマホやタブレットで読みながらパソコンでプログラムを実際に組んでみるという方法もおすすめですよ。
メモ: もし実物の本を手にとってみて、内容が気にいったなら「改訂3版 これからはじめるプログラミング 基礎の基礎」谷尻 かおり (著) は入門書としていいかもしれない。僕は、Kindle のサンプルで目次を確認しただけだが、構成は、総花的かもしれないが、よくできていると思う。
— Masakazu Yoshida (@_myoshida) May 6, 2019
おうちで学べるプログラミングのきほん
こちらは、プログラムとはなにか?なぜ数字や記号でパソコンが作動するのか?という概念を学ぶためにおすすめの1冊です。
プログラミングを学ぶ前に、なぜそうなるか理屈が知りたいというユーザーから人気が高い参考書です。
これまで別の参考書を読んでもよく分からなかった、就職でプログラミングの知識が必要になったという方に最適ですよ。
章ごとにテーマが分かれており、前半の章はプログラミングやパソコンの仕組みが学べます。
後半ではJavascriptやC言語について触れています。
おうちで学べるプログラミングのきほん https://t.co/Bauv3tWelZ
プログラムの歴史や由縁、サーバーやクライアントとの関係性が体系的に書かれてて色々成程~となりました。 学校は実践のHelloWorldからいきなり入ったから基本と繋げることが出来た。— ひよこ (@lnkl_25) May 4, 2018
・プログラマーは人の曖昧な要求をインプットして、CPが理解出来る整合性のとれた形にアウトプットする通訳者
・プログラミング言語はweb開発言語、汎用言語(コンパイル、仮想マシンに適用)、伝統言語等
・コンパイラ:まとめて機械語(速)、インタプリタ:逐次機械語(柔)、JITコンパイラ:速度兼柔軟性— ひよこ (@lnkl_25) May 4, 2018
仕事ではじめるプログラミング 研修前の基礎の基礎
最初にご紹介した「これからはじめるプログラミング基礎の基礎」と同じ著者が書いた参考書です。
仕事で使うことを前提としていることもあり、より実用的な内容のものとなっています。
メインに説明されているのはHTML5+とJavaScriptで、プログラマーだけでなくあらゆる仕事で役立ちます。
特にホームページや商品ページを自社で作っている会社に勤めている人は、身につけておいて損はないはず。
これらのプログラミング言語はパソコン1台あれば動作がすぐ確認できるので、設備が整っていない人にもおすすめしたいです。
これからはじめるプログラミング基礎の基礎を読んだ後の次の参考書として使うのもおすすめ。
(。_。)φコンピュータって、仕事ではじめるプログラミング研修前の基礎の基礎、からだの地図帳、CG&ゲームを仕事にする、茅田砂胡全仕事、クロノス(天命探偵シリーズ)、書楼忌堂、マージナルオペレーション、オニマル(角川加筆版)、貴族探偵
— 和月龍弥 (@watsu_09) November 26, 2013
プログラミングスクールは高い。お金がない人はどうすればいい?
実践しながら進める。githubに記録を残そう
参考書で基礎を学んだら、次は実際にプログラムを組んで実践してみましょう。
おすすめは、世界中で使われているGitHubというエンジニア向けのサービスです。
ちなみにGitHubのGitとは、プログラムに限らずファイルの履歴をデータとして利用できる仕組みのことです。
このGitのおかげで大切なデータを間違って消してしまったり、間違えて上書きしても自分が利用したい履歴データを呼び起こして使えるようになるのです。
GitHubは無料で利用でき、世界のどこにいてもプログラムやコードソースなどをアップして他のユーザーに公開できます。
公開されるプログラムは多岐にわたりますが、ゲームやECサイト、仮想通貨などがあります。
GitHubはアカウントを作成して、コマンドにそってコードを入力していきます。
グループで編集できたり、問題を一括管理する便利な機能もあります。
GitHubのメリットは、プログラムを組んで公開するだけではなく、修正が履歴データとして残るので、自分がどんなミスをしやすいか分析できること。
特に最初は、プログラムを形にすることに精一杯で細かいことに気が回らないことも多いはず。
このような便利なサイトを使うのは、学習の面においてもおすすめです。
プログラミングサイトで動画を見る
自力でのプログラミングに限界を感じたら、動画を見てみるのが効果的です。
無料でプログラミングの教材動画を公開しているサイトもありますし、YouTubeなどでも結構見つけられますよ。
こんな風に、ゲーム実況のようにたのしんでプログラミングを学べることもあります。
動画サイトのいいところは、自分のタイミングで好きな時に学習できるところでしょう。
ネット環境が整っていれば仕事終わりや休日、通勤通学のちょっとした空き時間を使ってとても手軽にどうやってプログラミングすればいいか?という手法が視覚的にわかるので、スクールなどに通っていない方におすすめです。
2chなどでプログラミングを聞いてみる
5ちゃんねる(旧2ch)には、プログラミングの話題を語り合うプログラム板があります。
プログラミングに関係した話題のスレッドがたくさん立てられており、自分の興味のあったり学んでいる言語について質問があれば専門のスレッドで質問したり、あらたにスレッドを立てることもできます。
超初心者〜上級者までレベルごとにスレッドがあるので、それぞれのタイミングに適した話題で語れるので無理なく利用できるのが魅力的です。
独学で勉強している人は、プログラミングで分からないことがあればすぐに質問すれば有識者が教えてくれます。
現在人気があるのは、Pythonや人工知能、PTPなどのスレッドのようです。
蛇足ですが、日本初の国産仮想通貨として有名なモナコインはこちらのプログラム板から誕生しました。
自分のプロダクトは決めておこう
勉強をする前に、大まかにでもいいのでプログラミングを学んで自分はなにが作りたいのか?ということを決めておきましょう。
もちろんそれは途中で変わってもいいですし、結果としていくつもの種類のプログラム言語を習得すれば言うことなしです。
具体的な目標を立てるのは、基本編を終えてからがいいでしょう。
自分は何を作りたいのか。企業のホームページ制作か、システム作りか、経済的な商品か、スマホ向けのアプリか…
同じくプログラミングでもそれぞれにあった学習法や制作方法があるのでチェックしておきましょう。
目標を決めておけば、独学にしろスクールにしろ次のレベルの勉強法が見つかります。
パソコンはMacとWindowsどちらがおすすめ?
ひと昔前だと、プログラミングに向いたパソコンといえばLinuxがおなじみでした。
なぜLinuxが人気だったかと言うと、Linuxはエンジニアやソフトウェア開発に使われていたためです。
無料でインストールでき、操作性も軽く古いマシンでも使いやすいので、もし一代前のパソコンを残してあればLinuxを入れておくのがおすすめ。
とはいえ、初心者レベルであればどのOSでも基本的に差はありません。
作りたいプラットフォームにより変わる
初心者であればどのOSも変わらないと言いましたが、基礎レベルを修了したあとはどうすればいいのでしょうか?
端的な答えとしては「人による」です。
投げやりなようにも感じるかもしれませんが、実際にその人が作りたいプロダクトによって最適なOSは異なるのです。
ざっくりですが、それぞれのOSには以下のような傾向があります。
Linux・・・新しいプラットフォームを作りたい。
ECサイトや専門的なプログラムを組みたい
Windows・・・サイト作りをメインにしたい
アンドロイド用アプリを作りたい
MacOS・・・iPhone用アプリを作りたい
サクサクとプログラミングしたい
という感じです。
自分の作りたいプロダクトと利用している環境が違っても、最近は互換性のあるソフトウェアなどもあるのでそれほど苦労しないようです。
ただ、専門的に作るとしたらやはりプロダクトに適したマシンを使う必要があります。
ゲームなどのプログラミングをやるにはどうすればいい?
ゲーム制作のためのプログラミングを学びたい場合は、それに適したプログラム言語を学びましょう。
主に使われている言語は以下のようなものがあります。
- C++
- C#
- JavaScript
- Swift
- Ruby
主にC言語はパソコン向けのゲームやゲーム機(ハード)のゲームソフトに使われています。
JavaScriptはブラウザ上で遊べるゲーム、比較的簡単な操作のものが多いです。
SwiftはMacOS用のコードで、Mac用のパソコンゲームやiPhoneのアプリ開発に最適です。
このように、ゲーム制作といっても環境やソフトによってかなり変わります。
最初は簡単なもの、JavaScriptなどから始めてみるといいでしょう。
まず最初にプログラミング言語の種類を決めよう
プログラミングを学ぶ前に、まずどんな言語を学ぶか決めましょう。
利用するプログラミング言語によって、環境や難易度、学習方法が大きく変わるからです。
現在プログラミング言語はかずおおく存在しますが、特に人気が高いものを以下の表にまとめました。
種類 | 特徴 |
HTML5+ | ホームページ作りやブログ運営に必須の言語 比較的独学でも習得しやすい ブラウザベースで表示できるのでマシンが1つでも作成しやすい |
JavaScript | 検索サイトやホームページ作りに必須 顧客向けECサイトにも必須 企業やゲームなどに関わらず、ホームページ作りに必要不可欠なプログラミング言語 |
Python | 現在人気の高いプログラミング言語 少ないコードで作動できるので、学習しやすく、実用の場でもチェックしやすい AIやIoTのプロダクトによく用いられる |
C++/td> | セキュリティ面ですぐれている 習得までに時間がかかるが、専門的なプログラムを構築するのに向いている ゲーム等の構築にも使われる |
Swift | Mac用のプログラミング言語 iPhone用のアプリを作りたい場合に向いている Mac用のサイトやプログラム構築に向いている 比較的学習しやすく難易度は中程度 |
目安通りのロードマップを作る
ロードマップとは、読んで字のごとく「道筋」を意味します。
プログラミングはあらゆるところで使われており、レベルも言語も様々に違うので最初から高い目標を立てすぎるとモチベーションが保てず学習が頓挫することも。
そうならないように、学習のロードマップを最初に立てておきましょう。
ロードマップといっても事細かに立てる必要はありません。
大まかに、これくらい終わったらサイトの基礎を組んでみよう。
基礎を終えたら簡単なゲームを作ってみよう。と、実現可能なレベルの目標を立てるとモチベーションも長続きしやすいですよ。
環境構築やツールの学び方を決める
プログラミングには、専用のツールやソフトを使う必要があります。
普通のテキストエディタなどでもプログラムを組めないことはないのですが、面倒くさくわかりにくくなってしまうので専用のものを使うのがおすすめ。
特におすすめのツールとしては、以下のようなものがあります。
Windows用の無料のエディターです。
無料のフリーソフトのため、機能的にはシンプルですが、コードごとの色わけができたり、日本語で操作できたりと、初心者でも使いやすいのがおすすめ。
プログラミング用のテキストエディタがどんなものか知りたいという方におすすめです。
インストールできるのはWindowsのパソコンのみ、テキストエディタ欄に入力したコードはブラウザボタンですぐチェックできます。
こちらもWindows用の日本さんエディタですが、Terapadとは違ってオープンソースなのが特徴です。
そのため、第三者のユーザーもシステムを追加できるので、リリースからだいぶ経った現在ではかなり機能も充実しています。
初めて登場したのは1998年で、現在はGithubで公開されています。
キーワードの強調や解析、補完ができるので、プログラムの編集によく使われています。
2014年にリリースされてから人気の高いツールです。
前述の2つとは違い、こちらは海外の有志が作ったのですが2019年現在では日本語表示にも対応していますよ。
Windows,MAC,Linuxに対応しており、幅広いユーザーから支持されているのが特徴です。
こちらも無料なので、コストはかかりません。
もともと高機能ですが、サクラエディタと同様にオープンソースで拡張して新機能をプラスできるので、ツールに迷ったらまずこれをインストールしておくのがおすすめです。
初心者でもやりやすいものにする
先程もお伝えしましたが、学習を長続きさせるためにはあまり高すぎる目標は逆効果。
初心者からプログラミングの勉強を始める場合は、段階的に目標をたてるようにすると続けやすいでしょう。
自分の目的に合ったものを選ぶ
自分はどうしてプログラミングをしたいのか?を最初に知っておくと、その後の学習計画が立てやすくなります。
たとえば、仕事で必要ならその業務内容に最適な言語を。
フリーランスやスタートアップ企業で自分たちでECサイトを作る場合はそれに適した内容を、趣味でゲーム制作する場合はコツコツとマイペースで…。
など、まずは他人と比較せずに自分の目的に合った内容を無理せず学習していきましょう。
平均年収が高いものを選ぶ。稼げる独学方法
仕事でプログラミングを利用する場合や、就活でエンジニア志望の場合、平均年収が高いプログラミング言語を選ぶのも1つの手段でしょう。
需要が高いものほど報酬も高くなるようです。
ちなみに、最近はPythonを使っているプログラマーの年収が高いようです。
独学で勉強出来るサイト
最近はプログラミングの学習サイトがあります。
スクールに通わずに自分の好きなタイミングで勉強できるのでとても便利ですよね。
おすすめはこちら。
【Progate】
・月額料金・・・980円
・対応言語・・・HTML/CSS Python Swiftなど
・レベル・・・初心者〜
【ドットインストール】
・月額料金・・・980円
・対応言語・・・基本的なコードはほぼ網羅
・レベル・・・初心者、中級者
【paiza動画ラーニング】
・月額料金・・・880円
・対応言語・・・Java系、C言語系など
・レベル・・・初心者、中級者
・そのた・・・スキルテストが行われるので身につきやすい
プログラミング学習に知っておきたいポイント
プログラミング初心者がこれから勉強するために知っておきたいポイントにはなにがあるでしょうか?
パソコンは2台あると便利
利用する言語によっては、チェックするためにパソコンが二台必要なものもあります。
1台は動作確認のためなのでそれほど新しくなくてもOK。
パソコンを買い換える時は捨てずに取っておきましょう。
数学が得意な人が有利
プログラミングは理論的な思考ができる人が向いています。
そのため、数学など理系科目が得意だった人がプログラミングも得意であることが多いようです。
挫折せずに勉強を続けるためのコツは?
学習を初めてみたはいいものの、どうしても続かないという場合はどうしたらいいのでしょうか?
まずはコードを真似してでもいいから頑張ってみる
今はネットにコードのソースがたくさんあったり、動画などでも組み立て方がどんどん紹介されています。
はじめのうちは、丸まま真似てもいいのでまずはどんな感じかを体感してみましょう。
そのうち感じがつかめてきて、自分でプログラムを組む時に感覚が養われますよ。
独学にこだわらないのもあり
最近は、スクールや講座も多く形式も多様化しているので、どうしても独学で学びたいわけではなければ、スクールなどを利用するのもいいでしょう。
忙しい方も、先程ご紹介したサイトのように、オンラインスクールを使えば自分のタイミングで勉強することも可能です。
it系の勉強会に参加してみよう
IT関係のスクールや会社によっては、定期的に勉強会を開催しているところもあります。
プロに直接教えてもらえるいいチャンスですので、タイミングや場所的に参加できそうなら一度参加してみることをおすすめします。