プログラミングが勉強したい!
昔からその思いはあっても、なかなか続けることができなかったプログラミング学習。
最近では、学校の必修科目に組み込まれたり、副業ブームで各種学習教室が人気だったりと、プログラミングを学ぶのには良い時代になってきている。

40歳も過ぎて、今更かもしれないけど、やっぱりプログラミングの勉強がしたい!
年齢は関係ない!問題は今やる気があるかどうかだ!
挑戦しては挫折を繰り返してきたぼくだけど、ここにきて一大決心。
今年中に何がしかのプログラミング言語を一つ習得しようと思い立ったわけです。
プログラミング初心者が学習を進めるうえで悩む問題。それが、
『独学で学ぶ』か『スクールに通う』か問題(。´・ω・)?
今回、実際にいくつかのスクールカウンセリングに通って何がいいのかを検討したゾ。
結果、ぼくは『独学で学ぶ』道を選んだ。
だけど、誰しもに『独学』をお勧めするわけではない。
ここまで行く過程と、なぜその結論に至ったのかを解説していくぞ。
なんのためにプログラミング言語を学ぶのか?

『プログラミング』を学びたい!
と、一言で言っても、それは手段でしかない。
プログラミングと大きくまとめられているが、目的はそれぞれ。
- このホームページを表示しているのもプログラミング。
- スマホのアプリもプログラミング。
- パソコンを介しなくても、自動車が動くのだってプログラミングがかかわっている。
まだ学習を始めたばかりだが、プログラミング言語はできることできないこと、得意不得意があるとわかった。
ひとまずプログラミングを学ぶのではなく、目的があってそれを実現させるために『適したプログラミング言語を学ぶ』というのが正解だ。
目的を決めてからプログラミング言語を選ぶ

いきなり学習を開始するのではなく、目的を決めてそれに合ったプログラミング言語を選ぼう。
ゴールが決まらないことには、進む方向もままならない。
プログラミング言語はそれぞれに向き不向きがあり、できることできないことが分かれている。
私のやりたいこと(目標)と、それに関するプログラミング言語をまとめてみた。
ホームページ作成 ー HTML・CSS・Javaスクリプト・PHP
スマホアプリ作成 ー swift・Java
ゲーム作成 ー unity(C#)
プログラミング学習を検索すると、PythonやRubyなどが人気であるような記事もあるけど、今のやりたいこととはあまりつながらないので今回は却下。
他の言語でできないことはないけど、一般的で学びやすいのは上記のようなプログラミング言語が向いているということのようだ。
プログラミング言語は最初の一つを習得するのは大変だけど、基本的には似通った部分がおおいから、2つ目以降は比較的簡単に習得できると言われている。
まずはプログラミング言語をなにか一つ習得を目指そう。
プログラミングをどうやって学ぶ?
大きく分けて方法は2つ。
ひとりで『独学』か、お金を払って『スクールで学ぶ』かだ。
今回、プログラミング学習を理解するため、教室のカウンセリングや体験教室をいくつか受講してみた。
その結果、やはり最短で学ぶにはスクールに入るのが一番だと感じた。
スクールではどの言語かに絞って学ぶことになるから、まずは自分が何をしたいのかが明確になっていないとコースを選ぶこともできない。
まあ、カウンセリングでそのあたりも詳しく聞くことができるから、学ぶ言語が決められない人も、まずはどこかの無料相談に申し込んで話を聞いてみるのがいいゾ。
ぼくが相談会を申し込んだスクール一覧
TECH CAMP(テックキャンプ)

約90万人の登録者を持つyoutuberまこなり社長の運営するスクール。
基本は、動画形式のオンライン説明会。動画での説明は登録後すぐに見ることが可能です。
興味を持ったらそこから「無料オンラインカウンセリング」に進みます。
本気の人には、転職できなかったら全額返金など、インパクトのあるサービスが魅力。
その分勉強は大変みたいだけど、質問し放題と返答までの時間が非常に短く、効率的に勉強できることで定評の高いスクールです。
Tech Academy(テックアカデミー)

詳しい講義内容や、やりたいこと、作りたいものから学ぶべきコースを紹介してもらえます。
お話していたら、「それなら独学でもいいと思いますよ」と独学を後押ししてもらえたり、受講者の要望をよく聞いて案内してもらえました(≧▽≦)
CodeCamp(コードキャンプ)

オンラインビデオ通話でメンターと相談することができます。
予約の空状況が分かりやすく、空きがあれば当日でも説明を受けることができます。
プログラミングスクールで学べること
何社かのカウンセリングを受けてわかったのは、どこの教室も内容は大きく違わないということ。
基本的に課題をこなしながら基礎学習をして、わからないところ、つまづく部分をメンター(指導者)に質問をしながら学習を進めていくという形。
学習するカリキュラムや、教室での対面学習なのか、オンラインだけなのか、質問回数や講師の質などは教室ごとに違ってくるが、やることは基本的に同じだ。
どの教室も20~30万円の費用で数か月の学習を想定している場合が多い。この金額が安いか高いかはともかく、重要なのは『誰かに質問できる環境』だということが分かったゾ。
個人専属のメンターがついたり、質問回数に制限がないなどで教室の価格は大きく違ってくる。
自分以どこまでのサポートが必要なのかを、予算と合わせて検討してみよう。
プログラミング学習でつまづくポイント
プログラミング学習で困るのは、『何がわからないのかわからなくなること』
プログラミングでは、1文字違うだけでエラーが発生するうえ、エラー表示は基本英語なので、初学者には何が間違っているかすらわからないことが多々ある。
学習を進めるにとって、この詰まった状態をスムーズに解決できるのか、スクールに通う最大の利点といえる。
ほとんどのスクールが、回数や時間五違いはあれど講師に自由に質問できる環境を提供している。むしろそれだけがスクールと書籍学習の違いと言っても過言ではない。

書籍などで独学の場合、自分で原因を探し、解決方法まで調べなくてはいけない。独学の場合、最悪解決法が見つからず挫折……なんてことにもなりかねないヨ。
プログラミング学習でつまづくポイント2

実は、独学の場合、『何がわからないのかわからなくなること』まですらたどり着けない場合も往々にしてある。
それは、パソコンの『環境設定』
テキストエディターでも書くことができるHTMLならともかく、通常はプログラミングを走らせるための環境を自分のパソコンの中に作らなくてはいけない。
ただし、これがすでにハードルが高い。
基本的には、プログラミングを記述するためのアプリをダウンロードしてきて、インストールすればいいだけなんだけど、なぜかこれがうまくいかない。
まず立ちはだかるのが、『英語の壁』ほとんどのアプリサイトは英語での説明になっているので、注意書きや導入方法がよくわからない。
ポイント
- インストールしたはずなのに、バージョンの違いで動かない。
- 理由はわからないけどエラーが出る。
…なんてことは多々ある。

学習に入る前の時点で心が折れてしまうことも『プログラミング学習あるある』だゾ。
スクール最大の利点は『教えてもらえる環境』だけど、私は独学を選ぶ。
無駄な時間を省いて最短で学習したいなら、スクールに通うのがやはり、最強。
私のような学習にあまり時間が取れない人間にとって、無駄なことに頭を悩ませているのはもったいない。
しかし、今回ぼくは、『独学で学ぶ』ことを選んだ。その理由を解説しよう。
コストとリターンが釣り合わなかった。

多くのスクールがかかげるのは「初心者からエンジニアへの転職」
就職のサポートまで手厚く行ってくれるスクールも少なくない。
プログラマー不足の現代、ある程度の知識を持ったプログラマーの卵は、就職・転職も有利だろう。
しかし、あくまでそれは若者である場合。
どこの企業も好き好んで40過ぎの初心者を雇おうなんてもの好きな会社はないよネ。
ぼくとしても、若者に混ざってベンチャー企業でバリバリプログラミングするようなつもりは毛頭ない(^_^;)
あくまで副業として、簡単なプログラミング技術を習得したい程度の考え。
そこにいきなり何十万円ものお金を投資するのは、コストを回収するだけのリターンが期待できない。
勉強時間を確保する予定がたてられなかった。
もう一点。現在の仕事は残業も多く、勉強に当てられる時間が一定ではない。
スクールには学習期限が定められていて、もちろん期間が長くなればなるほど料金が高くなる。
期間内に課題を進めなければ、質問することすらできない。大切な質問の機会を無駄にしてしまうかもしれない。
働きながらの学習は、期限の短いスクール学習は難しいと判断した。

これら2つの理由から、いまのところはひとまずスクールは利用しないで独学で頑張ってみることを決めたゾ。
でも、もし時間が取れて、集中して勉強に取り掛かれるならスクールを利用したかったとは思っているよ。
プログラミングはUnityから始める。
実はすでにプロゲートの基礎講座で、HTML/CSSについては、ある程度理解している。
このブログを運営することで、ある程度の理解はしてきたつもりだ。
ここから派生してJavaスクリプト・PHPを学ぶというのもいいのだけど……
でも、やっぱり現代でプログラミングでものを作るなら、スマホアプリ作ってみたいじゃないですか!
そこで、スマホアプリ作成で、一番敷居が低そうなところ。
Unityでゲーム作りから始めて見ようと思います。
Unityとは?

Unityというのは、正確にはプログラミング言語ではなく、ゲームエンジンの一種。
ゲームエンジンとは、ゲームに使う機能をまとめて使いやすくしたもの。
本来なら複雑なプログラムを組まなくてはいけないところを、簡単な設定で実行できるツールです。
プログラミング言語としては『C#』というものを使うけど、それも記述するのは最低限でアプリづくりが始められるんです。
とはいえ、侮るなかれ。
今人気の任天堂switchのゲームも、このUnityで作られたものがあるくらい『プロの現場』でも使われている本格ツール。
そんなすごいツールが、一般人の利用はなんと0円!無料で使えるんです!
まずは基礎をテキストを購入して勉強
今まで何冊かプログラミング入門的な本を読んだことはあったが、どれも途中で挫折してしまった(*_*;
ただ、今回読んだ『はじめてでも安心!Unityの教科書』はめちゃくちゃわかりやすい。
こまかくイラスト付きで解説されているし、「こんなこと知ってて当然でしょ(-"-)」的な初心者を無視した解説は一切ない。
丁寧すぎるほど丁寧に進めてくれるから、すごくわかりやすい。
バージョンが変わって書籍の内容と変更になっている点があっても、ホームページでサポート解説がアップされているから、記述と違って迷うようなこともほとんどありません。
すごく分厚いように見えるけど、図解された解説が細かいから、1週間程度で全部こなすことができるくらいの分量だゾ。
非常にわかりやすい教科書だったけど、それでもやはり『環境設定』の壁は高かった。
プログラミングのためMacbookを購入
ぼくは通常メインPCにはWindowsを使用しているんだけど、Unityの環境を構築しようとしても、どうしてもうまくいかなかった(;´Д`)
バージョンを落としたり、いろいろ調べたりはしてみたものの、解決には至りませんでした。

こんな時スクールに通っていれば教えてもらえるんだろうけどね。
いろいろ調べても、多くの解説で使用されているPCは、ほとんどがMac。
『Unityの入門教科書』はWindows・Macどちらでも進められるように解説されているが、プログラミングするならMacのほうが進めやすいのは確かなようだ。
今回、スクールに通わなかったのは、実は環境構築のためにMacbookを購入したため、というのもある。中古とは言え10万弱の金額を支払っているので、さすがにこれ以上はお小遣いが足りなかったんだ(=_=)
初心者がプログラミングするなら、やっぱりマック
出費はちょっと痛かったが、それだけの利点はあった。
実際、あんなに苦労したUnityの環境設定はMacを使ったらすんなり通過(^_^;)
Macを購入したことで、学習の前からつまづくことは回避できました。
どちらにしろ、iPhoneにアプリを提供するならMacの購入は必須。
中古でもそこまで古くなければ十分なので、余裕があるなら購入をお勧めするゾ。
予算の都合もあるだろうが、長く使うことを考えるなら2015年以降のモデルで選びたい。
Unityの教科書、1週目を完了。次の一歩へ
Macbookを購入したおかげもあって、Unityの入門教科書は一通り学習した。
あとは実践あるのみ。
youtubeでも解説動画が多いから頑張っていこうと思う。
まとめ
今回、スクールのカウンセリングや説明会を体験して思ったのは、どのスクールもサポート体制がしっかりしているというところ。
今の時代、たくさんのプログラミングスクールが、サービスの質を上げて生徒獲得のため努力を進めています。
独学であっても、どの教室に入っても、大切なのは『自己努力と継続』
自己努力に自信のない方は、スクールに入るのがいいかもしれません。
さすがに、何十万円も払ったら、そうそう簡単にはあきらめられないからね。
今回カウンセリングに参加したからと言って、どこの教室からも無理な勧誘などはなかったので安心してほしい。
悩んでるくらいなら、話を聞くだけでも道が見えてくるかもしれないよ。

まずは一つ、オリジナルゲームをplaystoreに登録することを目標に頑張るゾ。
プログラミング初学者の人たち、一緒に勉強しよう!