【本音】プログラマー入門を勉強しても目的を達成できる確率は低い

angry プログラミング
プログラマーになる為に、まずは入門編の学習をしよう
その手順は間違っていないと思いますが、うまくやらないと目的を達成できずに終わってしまう可能性が高いです。

漠然とプログラマーを目指さないこと

プログラマーになろうと思い、入門編や基礎を学ぶとするとします。確かにどのプログラム言語でも基本的なことは同じ部分もあります。

しかし基本的には作る物が違えば、そしてもちろん言語が違えば必要なことも大きく変わってきてしまいます。

なのでただ漠然と「プログラマー」を目指し、何となく「プログラミング」の学習をしても、目的を達成できる可能性は低いです。

ではどうすればいいのか?ということを次に書いていこうと思います。

何を作りたいかを決める

いきなり漠然と「プログラマー」を目指すのではなく、まずは自分が何を作りたいのかを決めることです。

webサイトやwebサービスなどのweb系、スマホのアプリを作るアプリエンジニア、もしくはガッツリPC向けのゲームを作りたいなど。

最初に作りたいものを決めるメリットは学ぶべきプログラミング言語が決まってくることにあります。

この為、漠然とプログラマーで検索することはなくなり、それを作る為にどの言語をどう学べばいいかという検索に変わっていくでしょう。

作りたいものが決まれば作り方を調べる

これを作りたいというものが決まり、その為にどの言語を学べばいいかということが決まればあとは実行あるのみです。

プログラマーにも色々種類があり、自分が目指しているのはその一部に過ぎないということも何となくわかってくると思います。

漠然とプログラマーを目指すとここが決まらずに基礎っぽことを延々とループしてしまう可能性もあるので危険です。

どんな言語を使い、どんな開発環境が必要なのかを調べて、まずは一歩を踏み出すと良いでしょう。

プログラミング学習の挫折率は90%

このブログでも何度も取りあげていますが、プログラミング学習の挫折率は90%と言われているそうです。

明確にやりたいこととやり方の学習方法がわかったとしても、まだ油断は禁物といった感じですね。

ただこの90%には何となくプログラミングを始めてしまった人も含むと思いますので、しっかりと最初に方向性を決めた人であればもっと率は下げれると思います。

ただ確かにプログラミング言語の中には難易度が高いものが存在するのも確かです。

難易度の高いプログラミング言語

おそらくC言語系統の言語が最も難易度が高いかと思います。確かに初心者がいきなりこれを始めると挫折率は90%では済まない気もします。

でもプログラミングの基本なんかで検索すると最初はC言語を学ぶべきみたいな情報も多いんですよね。

ゴリゴリのゲームプログラマーを目指していて、ゲームクリエイター学科のある専門学校に入ったというくらいの人に対してはそれでいいと思いますが、普通の初心者に最初の基礎としてC言語をすすめるのは気が引けます。

確かにC言語を学べば他の言語も難なく理解できるレベルには到達するでしょう、しかし最初はもっと難易度の低い言語から入る方がおすすめです。

難易度の低めなプログラミング言語

こちらもこのブログで何度も書いていますが、やはりweb系(PHP・Ruby)あたりの言語が最も易しいと思います。

コードを書けばブラウザですぐに動かして表示を確認できるというのも良いです。実行にいちいちコンパイルが必要な言語とかだとしんどい部分もあるので。

もちろん難易度が低めといっても他と比べて低いだけであって、全然簡単ではないので覚悟は必要です。

どうせどれもそれなりの難易度があるので、やりたいことがあるならそれに合わせた言語を選べばOKです。

いきなりゲームだけは厳しいかも

自分の話になってしまうのですが、昔からゲームが好きで中学生の頃にゲームを作ることに挑戦したことがあります。

結果は惨敗でした。全くの初心者がいきなりゲームを作るというのは結構難易度が高いと思います。

またゲームはグラフィックや音楽など一人で作るには限界がある為、作るのであれば何か工夫も必要になってきます。

他言語の経験を積んだ今であればゲーム関係のコードも理解できるので、もしゲームに挑戦して挫折しても、プログラミングは諦めずに他言語にも挑戦してみて良いと思います。

まとめ

漠然とプログラマー入門を目指すのではなく、作りたいものをしっかり決めてその為のプログラミング言語を勉強しようというお話でした。

難易度の高い低いで習得が難しい言語もありますし、易しめな言語でプログラミングを理解すれば難しい他言語も理解できるようになる可能性もあります。

何度か挫折することはもちろんあると思いますが、他の可能性も探りつつ最終的にプログラマーになれれば良いかなと思います。

現場でもわからないことなんてたくさんあって、その度に調べて解決してるだけという点では初心者と変わりないので安心してください。