「プログラミングは簡単!」は半分ホントで半分ウソ。文系卒がエンジニアになって思うこと
恐らくホリエモンさんが発言されたことの影響か、ベテランエンジニアさんの意見か
「プログラミングは簡単」という話を聞くことがあります。
これは実際どうなのでしょうか?
私は文系大卒で、営業をした後、未経験からエンジニアになった経歴があるのですが、
こういう文系の方などが特に疑問に思われるのではないでしょうか?
「プログラミング簡単なのはホリエモンだからだろ!」と思う方もいらっしゃるかもしれないので、
偏差値的にも普通の大学の文系学部を卒業したの一般人の意見として
参考にしてもらえたらと思います。
プログラミングが難しい3つの理由
プログラミングが簡単ではないのは、以下の3つだと思っています。
プログラミング自体が難しいというより心理的ハードルが高い部分があり難しいと感じるのかな
と私は思っています。
- 基礎学習に根気がいる
- 学ぼうと思えば無限に学ぶことがある
- ものが作れるようにならないと楽しさが分かりにくい
基礎学習に根気がいる
文系でパソコンに苦手意識がある人は多いと思います。
そういう方が初めにプログラミングを勉強して、挫折してしまうのが基礎学習です。
プログラミングの基礎学習は、地味で量が多いです。
何かものが作れるからプログラミングをするのに、なかなか何も出来上がらないわけです。
この期間が長くなってきて、少し思っていたとおりにならなかった時に、
「プログラミングは難しい!(プログラミングおもしろくないし飽きた)」となるわけです。
なので、この段階の難しいはどちらかというと「プログラミングがおもしろくない」のを
難しいと言っていることが多いと思います。
学ぼうと思えば無限に学ぶことがある
プログラミング初心者の方はどの程度勉強すれば良いのかの範囲があまり分からないと思います。
基礎学習は終わったはずなのによく分からない用語が出てきたり、
「これくらい知っておかないと」という実は重要でないものを学習することになったりします。
そして上を見れば「どれだけ勉強したらあんなに分かるんだ!」というレベルの人がいます。
実際、学ぼうと思えば、日々新しい技術は生まれますし、幅広く知ることもできるので、
学ぶことはほぼ無限にあると言っても良いです。
このように、上を見たり、本来必要な知識以上のものを学ぼうとする時に、
「プログラミングは難しい」と感じるかもしれません。
ものが作れるようにならないと楽しさが分かりにくい
一度何かが作れるようになると、意外と楽しいということに気づきます。
ただ、そこまでのハードルが高く、たどり着けなくなった人が
プログラミング自体おもしろくないもの≒難しいものとなりやすいです。
プログラミングを挫折してしまうタイミングは、何か作り始めた時にエラーが出たなどが多いです。
なので、そのタイミングでやめるから、やめた人は、「プログラミングは難しい」
と言うことになります。
実際には、ただおもしろさを感じるところまで継続することができなかっただけで、
少し調べればすぐ解決できたかもしれないのに。。
プログラミングが簡単な3つの理由
ここまでプログラミングが難しい理由を話してきましたが、
実際プログラミング自体が難しいというより楽しさが分かるまで続けられないことが、
難しいと感じさせる原因という私の考えでした。
逆にプログラミングが簡単である理由は以下の3つだと思っています。
- 正しく指示すれば正しく返ってくる
- 今は基礎的な内容は全てweb上に答えがある
- クラウドサービスやフレームワークの充実
正しく指示すれば正しく返ってくる
仕事で「これお願いします!」と頼んで「はい!」と返事されたのに
思ってたのと違うことをやってきたりする人がいます。
ただ、プログラミングは、「これお願いします!」で指示が曖昧だと
「”これ”が定義されていません」と返したり、ちゃんと定義されていたら内容を忠実に返してくれます。
人間だとよく分からなくても「多分あれだろ」と想像してやってくれるという反面、
きちんと説明してお願いしても、ちゃんとやってもらえないということがあると思います。
また、勝手に変な解釈して全く違うものをやってきたりすることがあります。
こういうことがプログラミングには発生しないので、指示が正しければ必ず正しい結果を返してくれます。
そして、間違っていても、「その指示はここが正しくありません」と自動的に指摘してくれます。
これがプログラミングが簡単な1つ目の理由です。
今は基礎的な内容は全てweb上に答えがある
「正しく指示すれば正しく返ってくる」というと、その「正しく指示する」が難しいんだよと、
思われる方もいると思います。
確かにそうなのですが、今は基本的な内容はググればほぼ確実に出てきます。
web上に答えがあるから、それを打ち込めば必ず正しい結果を返してくれる。
プログラミングは昔は難しかったと言われますが、今はこのように検索すれば答えがあるという
プログラミングを勉強するには非常に恵まれた環境が整っているのです。
これがプログラミングが簡単である理由です。
クラウドサービスやフレームワークの充実
他にも昔はサーバーを立てるのを1から全部やらないといけなかったり、
よく使う機能もすべて手書きでコードをたくさん書かないといけなかったのです。
ただ、今ではアマゾンがクラウドサービスで対応してくれたり、
各言語にすごく便利なフレームワークという、よく使う機能を短いコードで書けるように
してくれるものがあったりします。
これらによって、昔と比較して、非常にプログラミングが簡単になったと言われています。
初心者は比較的簡単でネットに情報の多い言語から始めると良いかも
ここまでプログラミング全般について話してきました。
ただ、やっぱり言語による違いもあります。
昔からある言語は使っている人が多い反面、難しい概念があったり、
逆に新しい言語は便利な反面、何か詰まった時に、ネット上に英語のドキュメントしかない
ということもあります。
なので、初心者が初めにプログラミング言語を選ぶなら、
分かりやすくて、ネットに情報が多い言語から始めてみるのが良いと思います。
私のおすすめはRubyやPHPですが、色々比較してみるともっと良い言語があるかもしれません。
分かりやすい自分に合う言語を探してみてください!

コメント