巷には

プログラミング? あんなの簡単さ!
と言う人もいます。
その人に取っては、確かに簡単だったのかも知れません。
プログラミングは努力をすれば誰でもできます。
ある程度のレベルであればね。
ただ、私はプログラミングなんて簡単さ!
とは口が裂けても言えません。
私は専門学校でC言語を勉強しましたが、それまでの人生で一番勉強して基礎を習得したからです。
多くの人にとって、プログラミングは難しいはず。
だからこそ価値があります。
この記事では、
- プログラミングの何が難しいのか?
- 習得する価値はあるのか?
という2つのポイントを軸に解説。
また、世間的にプログラミングを難しいと感じるポイントの中には、思い込みや先入観からの勘違いも多く存在。
こうした勘違いを無くすための解説も併せてしていきます。
プログラミングは難しいよ
プログラミングは難しい。
これは紛れもない事実です。
が、この難しいの部分で多くの人が勘違いしていると感じます。
プログラミングにおける難しさとは、プログラミングを習得するまで諦めずに続けること。
この1点です。
プログラミングは、いわゆるパズルみたいなもの。
完成に向かって、必要なピースを1つ1つ、コツコツと積み上げていく作業です。
ピースの1つ1つをそれぞれ見れば、それほど難しくはありません。
そこに書く必要があるのは単純な英単語と、最低限のルールだけだからです。
#include<stdio.h>
void main (void)
{
printf(“C言語の勉強を始めよう!\n準備はOK?”);
}
上記のコードはC言語のものですが、これを実行すれば画面に「C言語の勉強を始めよう!準備はOK?」と表示されます。
小学生でも知っている英単語を、プログラミング言語にするために少し改造しただけ。
これだけ見れば、簡単に思えるのでは?
事実、簡単。
こうした命令文の連続がプログラミングですからね。
ただ、実際はこうした命令文(関数)が数千~数万。
場合によってはそれ以上必要になり、それを組み合わせてゴールを目指すことになります。
1つ1つをバラして見ると難しくない。
ただ、膨大な数を組み合わせるとなると途端に難しくなる。
パズルもそうですよね。
平面の100ピース、分かりやすい絵が描かれていれば簡単。
同じ絵であっても、より細かく3,000ピースになれば間違いも増えるでしょう。
これが同じ絵で30,000ピース。
しかも立体パズルになったら難易度は計り知れません。
書かれている絵は基本的に同じなんですけどね。
完成に向かって地味な作業を黙々とこなす。
エラーが出ても相手のせいにはできません、間違っているのはコッチですから。
対人のように、相手に責任を擦り付けて逃げる。
そんなことはプログラミングでは基本的に不可能。
これがプログラミングはシンプルだが、難しい。
と言える理由です。
プログラミング言語選択が難しい
これもソコソコ聞く話。
確かに、プログラミング言語は100種類ぐらいあるようですから。
まぁ、メジャーどころから選べば問題ありません。
流行り廃りはありますが、一番大事なのは
「アナタがやりたいことに一番適した言語を選ぶこと」
です。
つまり、巷でプログラミング言語の選び方が難しい、迷うと言っている人は、現状で自分の目標がハッキリしていないんだと思います。
そんなだと、途中で挫折する可能性も爆上がりするので、まずは目標(ゴール)を可能な限り明確にすることが大切です。
これができれば、言語は必然的に絞られていきます。
プログラミング言語のメジャーどころや、主な使われ方。
私のおすすめ言語などを以下の記事で解説しています。
プログラミング言語のおすすめ3選! 選ぶ時の超大事なポイントも解説
難しいの勘違い
プログラミングが難しいと言える理由はここまで説明したことで全て。
読んでもらって分かるように、難しいと言える理由に
- 英語が難しい
- 難しい数学・物理が必要
- 覚えることが多い
などは入っていません。
これらはプログラミングを難しいと勘違いさせる理由の最たるもの。
大前提として、プログラミングは学校のテストや受験じゃありません。
基本的にカンニングOK。
間違えてもエラーが出て、どこが間違っているか教えてくれるので、それを見ながら直せば良い。
エラーの内容が分からなけりゃ、ググれば大抵は解決します。
極端な話、最初に書いたプログラミングコードが全部間違っていても良いんですよ。
学校のテストなら、0点を突きつけられて、最悪お前はバカだとレッテルを張られます。
ただ記憶することが得意じゃないだけなのに。
プログラミングはこんな無意味な差別をしません。
最初が0点でも、繰り返しやり直して100点にすれば、ちゃんと動いてくれるのです。
そりゃ、仕事としてプログラミングをするなら良くないと思いますよ。
できるだけエラーは少なくして、早く完成に持っていく能力も必要です。
ただ、こうした面は根気よくコツコツと繰り返していれば嫌でも覚えます。
結局、どれだけエラーが出ようと諦めずに続ける根性と熱意。
これを保つことがプログラミングで唯一にして一番難しいことなんです。
巷で難しいとされている部分の多くは、プログラミングを知らない人が表面だけ見て言っている戯言。
そうやって挑戦しない自分を正当化しようとしてるだけです。
プログラミングを習得する価値
プログラミングは難しい。
つまり、多くの人が挫折する可能性があるってことです。
だからこそ、プログラマーには価値があり、スキルの高い人だと年収1,000万を超えてくる人も普通にいます。
ちなみに平均年収は400万ぐらい。
SEになると平均で500万を超えてきます。
平均なので、上にも下にもブレますが参考にはなるでしょう。
ただ、これは日本でサラリーマンをしている人を含めての話。
日本企業はいかに優秀なプログラマーやSEでも年収が上がりにくい傾向が強いです。
これから変わる可能性はありますが、現時点ではそう。
だから優秀な人がどんどん外国に流れてしまい、日本のITは世界に大きく遅れを取っています。
企業の体質も悪いし、なにより政府の人間がITに疎い老人ばっかりなので、その本質的な価値を理解できていないために起こっている悲惨な実状です。
…話が逸れた。
現時点でもプログラマーの年収は低くはありません。
さらに、これから先を考えた時、プログラミングを習得して損をする可能性は皆無です。
プログラマー(プログラミング)の将来性に関しては、以下の記事でより深く解説しています。
プログラマーの将来性は抜群! でも、できないプログラマーは厳しい
独学とプログラミングスクール、どっち?
あくまでも私見ですが、爆発的に伸びていく人は基本的に独学です。
と言うか、ずっとプログラミングをやっていて、勝手にドンドン進んで行く感じ。
で、そんな人の周りには同じような人が集まるので、レベルの高い集団ができる。
その中で切磋琢磨していき、グングン伸びていく。
こうした人は、プログラミングが難しいとかいう次元にいません。
難しいかろうとなんだろうと、プログラミングをするのが好きだし当たり前だからです。
ただ、全ての人がここまでプログラミングに没頭できるとは思えません。
一言に好きと言っても、その度合いは違いますからね。
あくまでも一般レベルのプログラマー。
興味はあるけど、全てを捧げるほどの熱意ではない。
そんな人なら、独学よりも最初からプログラミングスクールを検討しても良いと思います。
私はプログラミングスクールではありませんが、専門学校で勉強しました。
正直、私レベルでは独学で突き進むのは難しかったでしょう。
結構キビシイ学校でしたから、課題も多かった。
尻を叩かれる状態にあったからこそ、基礎を習得できたと思っています。
アナタの適正は私には分かりませんから、アナタ自身の判断が必要です。
とりあえず、独学で始めてみるのも良いと思います。
独学ならほとんど金がかかりませんからね。
挑戦した結果、やっぱり軌道に乗るまでは補助が欲しい。
最初からサポートを受けて、つまずきを少なくしたい。
そんなアナタは、無料でプログラミングスクールの体験をすることから始めましょう。
無料体験でプログラミングスクールの雰囲気を掴むのは悪くない選択です。
まとめ
プログラミングの難しさは、天性の才能やセンスが必要って部分にはありません。
ゴールに辿り着くまで、諦めずに粘り強く続けることができるか否か。
モチベーションを維持することが難しいんです。
逆に言えば、ゴールが明確でモチベーションが維持できる人なら、誰でもある程度のレベルには到達可能って話。
なにより、プログラミングが難しいか簡単か。
そんな主観が全ての話題に対して、画一的な答えを提示する方が間違っています。
要は、とりあえず挑戦してみればOKです。
その結果、どうしても難しいから辞めた。
それはそれで全く問題ないと思いますし、無駄にもなりません。
一番ダメなのは、他人の意見を気にして、挑戦する前から諦めることですよ。