「プログラミングを勉強し始めたが、よくわからない・・・」
「理数系じゃないからプログラミングはわからない」
このようなことで悩んでいる人は多い。
勉強を始めたばかりの頃、たしかにプログラミングはわかりにくい。そして、一度苦手意識がついてしまうと、そこから抜け出すのはなかなか大変だ。
このページでは、プログラミングがわからないと感じる理由を10個あげ、その対処法を紹介する。
ご存知の通り、「なんとなくわからない」が一番どうしようもない状態で、「何がわからないかわかった!」となったら案外物事はスムーズに行くものだ。
あなたが、プログラミングに苦手意識を持ってしまっているなら、参考にしてほしい。
プログラミングがわからない10個の理由とその対処法
プログラミングがわからない人にはそれぞれ理由があるが、大きく分けて次のように分類される。
わからない理由その1 そもそもやる前から苦手意識を持っている
仕方がないことだが、やる前から苦手意識をもってしまっている人も多い。
世間のプログラミングに対するイメージが「何か難しいことをやっている」状態になってしまっているのがその理由だろう。
対処法:プログラミングはコンピュータへの命令だと理解する
やる前から苦手意識を持ってしまっている人はこう考えればいい。プログラミングというのは、「人間でも根性を出せばできるものを、コンピュータにさせて楽をしているもの」だ、と。
プログラミングはただのコンピュータへの命令文だ。「こうして、こうして、次はこうする」というのを書いているにすぎない。例えば、1〜1000までの数字をたす時に、手計算では大変だ。工夫すれば早いが、普通に計算をしたらどれだけ時間がかかるかわからない。こういう単純作業をコンピュータにやらせるわけだ。
信号だって、洗濯機だって、全部プログラムで動いている。「何分経ったら赤から青に切り替える」「何分経ったら、洗いから脱水にする」などを命令文として書いている。
日本語として命令文を書けば、あとは機械でもわかるように翻訳するだけだ。日本語で指示ができれば、プログラミングだって必ずできる。
わからない理由その2 わたし、文系だから
「文系だからプログラミングとか苦手なんだよね」「理数系じゃないからプログラミングとかよくわからない」
というセリフはとてもよく聞く。たしかにそういうイメージがプログラミングにはある。例えば、コンピュータ工学科のようなものは明らかに理系に所属している。
「文系だから、わからない」というイメージになり、勉強しにくくなるのはとてもよくわかる。
対処法:プログラミングは翻訳だ
実はプログラミングが理数系というのは、誰かが作り上げた都市伝説のようなものである。
昔はコンピュータを使ってやることそのものが理系的だった。例えば、複雑な計算や天体の軌道の予測、各種のシミュレーションなどにプログラムを使っていた。
しかし現在、主としてプログラミングされているのは、日常業務だったり、便利ツールだったり、理数系とは関係ない部分が多い。そうなると理系や文系は関係がなくなる。
上でもお伝えしたが、プログラミングはコンピュータへの命令文だ。前は事務担当の方が手作業でやっていたことを、コンピュータにやらせるというだけだ。電卓の使い方に理系的な要素はほとんどないだろう。同様にコンピュータにやらせるというときも理系的な要素はそんなにない。
ここをクリックしたら、こういうプログラミングが走って、こういう風に動く、というのをコンピュータにもわかる言葉で説明しているだけだ。
コンピュータは日本語がまったくわからない、外国の人である。彼らにやってほしい作業を説明する時には翻訳が必要だろう。プログラミングとは翻訳作業だ。
わからない理由その3 何しに使うかわからない
プログラミングを勉強し始めたとき、、、
「これが変数です。代入ができて、こうすると表示されます」
「これがfor文です。こうすると1から10までが表示されます」
「これがif文です。20以上の数字を入力すると”成人です”と表示されましたね」
などと参考書に書いてあるはずだ。
実際に打ってみて動かして、確かにそう動くこともあなたは確認できるはずだ。しかし、これを何のために使うかわからない。たしかに1〜10まで並べられたところで何に使えるかわからない。
発想力豊かな人は色々と想像できるだろうが、そうでない人の方が多いだろう。ここから苦手意識がスタートする人も多い。
対処法:基礎勉強時点ではあきらめる
たしかに初期の頃はイメージがつかない。わかりやすいイメージを、と思うと、とても地味になってしまう。
「for文を使うことで、社員の一覧が表示することができるんだ!」「こうすれば素数を並べることができるんだ!」と説明されても、ふーんとしか思えないだろう。
だから、基礎勉強時点ではこんなものだと思ってしまう方がいい。
今は包丁の使い方を習っているのだと思うことだ。包丁の使い方を覚えたところで料理が作れるようになるわけではない。料理の一部のパーツが作れるようになるだけだ。
コンロの使い方、オーブンの使い方、調味料の使い方、蒸し器の使い方、食材の保存方法、などなどを覚えていき、組み合わせたときようやく色々な美味しい料理を作ることができる。
できることが限られていればカレーしか作れないのと同じで、武器が少ない段階でできることは少ない。
将来的にはTwitterやInstagramやLineのようなアプリも作れるようになるために、基礎を勉強しているのだと、自分を納得させよう。
わからない理由その4 遠すぎる
プログラミングを勉強したとき、次のような疑問を持つ人も多い。
「たしかにこの内容はわかった。こう書けばこう動くというのもわかった。でも、結局プログラミングで、Facebookとか、googleの検索とか、パズドラみたいなゲーム作れる気がしないんだけど・・・」
このような感じだ。
昔のプログラミングの世界は、勉強したら手が届きそうな感があった。画面デザインも適当だったし、例えばホームページなんかでも、自分でも作れそうと思うものが多かった。だからこそ、勉強をするモチベーションになった。
しかし、今はどうだろう? 完成されて、質が高いサービスやアプリがいくらでも存在する。また、それらを普通に普段から使っている。
だからこそ、はじめて勉強を始めたときでは、そういった憧れとも言えるものが作れるようになるイメージが湧かないのだ。
対処法:はじめは一部分でも作れるように頑張る
これは、たしかに実際遠いから仕方がない。
簡単なアプリケーションならともかく、人気のアプリやサービスはそれこそ何十人、何百人というエンジニアが、力を合わせて作っているものだ。少し勉強をしたくらいではなかなかできない。
あれはプロ野球選手たちが作っているとまずは思うことだ。野球を始めたばかりで、すぐに150キロの玉が投げれたり、打てたりするはずがない。まずは100キロくらいの玉をバッティングセンターで練習するくらいがいいのだ。それでもほとんど当たらないはずだ。遠さを自覚して、目の前のできそうなことに着手すればいい。
はじめはできそうな部分だけ作ってみることだ。例えば、「ログイン・ログアウト」は作れそうだと思えば、そこをやってみればいい。一部分だけでも作れるようになれば自信につながって、次の一部分にトライできる。
また、実際にはそれほど時間はかからない。プログラミングを勉強し始めて1、2年程度で、TwitterやFacebookのようなサービスを作れるようになる人はたくさんいる。もちろん細かいところは難しいが、似たようなサービスであれば作れるようになる。
また、プログラミングの技術と、デザインの綺麗さなどを混合しないことも大切だ。綺麗な画面が作れるというのはプログラミングとはあまり関係がない。そういう分野のプログラミングもあるが初期の頃は考える必要はないだろう。
わからない理由その5 英語がわからない
プログラミングは英語で書かれているし、英語のドキュメントも読まなければいけないことが多い。だから「英語がわからない私には向いていない」というのもわからない話ではない。
対処法:日本にいる限り単語がわかればOK
先日Google社にて教育担当の方と話したとき議題に挙がったのが、これだ。
Google社が提供しているハイレベルな学習動画がある。東南アジアのような国々からはアクセスが多いが、日本からはまだまだ少ない。
理由は簡単で、日本では日本語で勉強できる書籍がたくさんあるからだ。そのため、わざわざ英語のコンテンツを見る必要がない。
あなたが日本だけでプログラミングをしていくというのであれば、英語は単語さえわかればとりあえずOKだ。英語のドキュメントを読む必要が出てきたらGoogle翻訳に頼りながらどうにかしよう。
残り5個については次項記事にて作成します