「理数系じゃないからプログラミングはわからない」このようなことで悩んでいる人は多い。勉強を始めたばかりの頃、たしかにプログラミングはわかりにくい。一度苦手意識がついてしまうと、そこから抜け出すのはなかなか大変だ。このページでは、プログラミングがわからないと感じる理由を10個あげ、その対処法を紹介する。ご存知の通り、「なんとなくわからない」が一番どうしようもない状態で、「何がわからないかわかった!」となったら案外物事はスムーズに行くものだ。あなたが、プログラミングに苦手意識を持ってしまっているなら、参考にしてほしい。飽きるプログラミングがわからない10個の理由とその対処法プログラミングがわからない人にはそれぞれ理由があるが、大きく分けて次のように分類される。そもそもやる前から苦手意識を持っている仕方がないことだが、やる前から苦手意識をもってしまっている人も多い。世間のプログラミングに対するイメージが「何か難しいことをやっている」状態になってしまっているのがその理由だろう。対処法:プログラミングはコンピュータへの命令だと理解するやる前から苦手意識を持ってしまっている人はこう考えればいい。プログラミングというのは、「人間でも根性を出せばできるものを、コンピュータにさせて楽をしているもの」だ、と。プログラミングはただのコンピュータへの命令文だ。「こうして、こうして、次はこうする」というのを書いているにすぎない。1〜1000までの数字をたす時に、手計算では大変だ。工夫すれば早いが、普通に計算をしたらどれだけ時間がかかるかわからない。いう単純作業をコンピュータにやらせるわけだ。信号だって、洗濯機だって、全部プログラムで動いている。「何分経ったら赤から青に切り替える」「何分経ったら、洗いから脱水にする」などを命令文として書いている。日本語として命令文を書けば、あとは機械でもわかるように翻訳するだけだ。日本語で指示ができれば、プログラミングだって必ずできる。わたし、文系だから「文系だからプログラミングとか苦手なんだよね」「理数系じゃないからプログラミングとかよくわからない」というセリフはとてもよく聞く。たしかにそういうイメージがプログラミングにはある。コンピュータ工学科のようなものは明らかに理系に所属している。「文系だから、わからない」というイメージになり、勉強しにくくなるのはとてもよくわかる。対処法:プログラミングは翻訳だ実はプログラミングが理数系というのは、誰かが作り上げた都市伝説のようなものである。昔はコンピュータを使ってやることそのものが理系的だった。複雑な計算や天体の軌道の予測、各種のシミュレーションなどにプログラムを使っていた。現在、主としてプログラミングされているのは、日常業務だったり、便利ツールだったり、理数系とは関係ない部分が多い。なると理系や文系は関係がなくなる。上でもお伝えしたが、プログラミングはコンピュータへの命令文だ。前は事務担当の方が手作業でやっていたことを、コンピュータにやらせるというだけだ。電卓の使い方に理系的な要素はほとんどないだろう。同様にコンピュータにやらせるというときも理系的な要素はそんなにない。ここをクリックしたら、こういうプログラミングが走って、こういう風に動く、というのをコンピュータにもわかる言葉で説明しているだけだ。コンピュータは日本語がまったくわからない、外国の人である。彼らにやってほしい作業を説明する時には翻訳が必要だろう。プログラミングとは翻訳作業だ。「これがfor文です。20以上の数字を入力すると"成人です"と表示されましたね」などと参考書に書いてあるはずだ。実際に打ってみて動かして、確かにそう動くこともあなたは確認できるはずだ。これを何のために使うかわからない。たしかに1〜10まで並べられたところで何に使えるかわからない。発想力豊かな人は色々と想像できるだろうが、そうでない人の方が多いだろう。ここから苦手意識がスタートする人も多い。対処法:基礎勉強時点ではあきらめるたしかに初期の頃はイメージがつかない。わかりやすいイメージを、と思うと、とても地味になってしまう。「for文を使うことで、社員の一覧が表示することができるんだ!」「こうすれば素数を並べることができるんだ!」と説明されても、ふーんとしか思えないだろう。基礎勉強時点ではこんなものだと思ってしまう方がいい。今は包丁の使い方を習っているのだと思うことだ。包丁の使い方を覚えたところで料理が作れるようになるわけではない。料理の一部のパーツが作れるようになるだけだ。コンロの使い方、オーブンの使い方、調味料の使い方、蒸し器の使い方、食材の保存方法、などなどを覚えていき、組み合わせたときようやく色々な美味しい料理を作ることができる。できることが限られていればカレーしか作れないのと同じで、武器が少ない段階でできることは少ない。将来的にはTwitterやInstagramやLineのようなアプリも作れるようになるために、基礎を勉強しているのだと、自分を納得させよう。遠すぎるプログラミングを勉強したとき、次のような疑問を持つ人も多い。「たしかにこの内容はわかった。書けばこう動くというのもわかった。結局プログラミングで、Facebookとか、googleの検索とか、パズドラみたいなゲーム作れる気がしないんだけど・・・」このような感じだ。昔のプログラミングの世界は、勉強したら手が届きそうな感があった。画面デザインも適当だったし、例えばホームページなんかでも、自分でも作れそうと思うものが多かった。勉強をするモチベーションになった。完成されて、質が高いサービスやアプリがいくらでも存在する。それらを普通に普段から使っている。勉強を始めたときでは、そういった憧れとも言えるものが作れるようになるイメージが湧かないのだ。対処法:はじめは一部分でも作れるように頑張るこれは、たしかに実際遠いから仕方がない。簡単なアプリケーションならともかく、人気のアプリやサービスはそれこそ何十人、何百人というエンジニアが、力を合わせて作っているものだ。勉強をしたくらいではなかなかできない。あれはプロ野球選手たちが作っているとまずは思うことだ。野球を始めたばかりで、すぐに150キロの玉が投げれたり、打てたりするはずがない。100キロくらいの玉をバッティングセンターで練習するくらいがいいのだ。それでもほとんど当たらないはずだ。遠さを自覚して、目の前のできそうなことに着手すればいい。はじめはできそうな部分だけ作ってみることだ。「ログイン・ログアウト」は作れそうだと思えば、そこをやってみればいい。一部分だけでも作れるようになれば自信につながって、次の一部分にトライできる。実際にはそれほど時間はかからない。プログラミングを勉強し始めて1、2年程度で、TwitterやFacebookのようなサービスを作れるようになる人はたくさんいる。細かいところは難しいが、似たようなサービスであれば作れるようになる。プログラミングの技術と、デザインの綺麗さなどを混合しないことも大切だ。綺麗な画面が作れるというのはプログラミングとはあまり関係がない。いう分野のプログラミングもあるが初期の頃は考える必要はないだろう。英語がわからないプログラミングは英語で書かれているし、英語のドキュメントも読まなければいけないことが多い。「英語がわからない私には向いていない」というのもわからない話ではない。対処法:日本にいる限り単語がわかればOK先日Google社にて教育担当の方と話したとき議題に挙がったのが、これだ。Google社が提供しているハイレベルな学習動画がある。東南アジアのような国々からはアクセスが多いが、日本からはまだまだ少ない。理由は簡単で、日本では日本語で勉強できる書籍がたくさんあるからだ。そのため、わざわざ英語のコンテンツを見る必要がない。あなたが日本だけでプログラミングをしていくというのであれば、英語は単語さえわかればとりあえずOKだ。英語のドキュメントを読む必要が出てきたらGoogle翻訳に頼りながらどうにかしよう。プログラミングを動かす環境の作り方がわからないこれは本当に多い。プログラミングを勉強し始めるぞ!という決心をした人を、もっとも挫折に導くのは「環境の作り方がわからない」だ。そもそも「環境」という言葉自体がわからないのでお手上げである。はじめの一歩目からつまづいている。ここで挫折すると、プログラミングにはもう戻って来れないだろう。プログラミングの勉強を始める手前の段階で諦めてしまった苦手意識が頭にこびりつくからだ。それでもダメなら次の本を買う開発環境の準備は難しい、というのをまず覚えておこう。あなたの責任ではない。これはもう誰でも難しいのだ。プログラミングの本質を理解していないとできないようなことを、何もわからない始めからやっているわけでそりゃ難しい。わからないことを当然と思うのが第一歩目だ。そのあと、書籍の購入をオススメする。入門書には環境構築の方法が書いてある。その通りにやってみることだ。それでもダメだったら、他の入門書を買いに行けばいい。Webでも検索できる時代だが、本の方がいいだろう。理由は簡単で、本は有料で売っているからだ。有料で売るとなると人は厳密なチェックをする。内容を精査して、間に校閲も入る。Webでは自分の忘備録的な内容になっていることも多いし、だれかのチェックも入っていない。常識的だと書いた人が思った部分は飛ばしているし、途中で雑になっていたりもする。初心者にとって、それは挫折の原因になる。そのため、本を買って、とにかくその順番通りにやっていこう。やっている内容を理解するのは半年後で構わない。オブジェクト指向がわからないプログラミングを勉強するものにとっての挫折ポイントとなるのがオブジェクト指向だ。知らない人はそういうものがあるとだけ思ってくれればいい。オブジェクト指向はたしかに始めわかりにくい。いろんな概念を持ち出せれて、頭がグラグラするのもとてもよくわかる。いうような説明を受けたところで、わからないものはわからない。対処法:60%程度の理解で構わない対処法は簡単だ100%理解しようとしないことだ。はじめは便利さもわからなくていい。いつか必ず、「オブジェクト指向で書いておけばよかった・・・」「オブジェクト指向でかいてあって、よかった」と思う時が必ず来る。はじめから完璧には理解しなくてもいい。「独立したパーツみたいなものを作っておけば、あとから使い回しできて楽じゃん」くらいに思っておけばいいのだ。100%理解しようとして行き詰まるよりも、60%の理解で進んで、後から戻ってきた方が効率がいい。周りの人についていけないスクールでの授業や新入社員の研修だと多いのだが、周りのついていけなくて困るというと人が沢山いる。自分は周りに比べて遅いから、自分は理解していないに脳が自動変換してしまうのだ。プログラミングがを理解している云々ではなく、タイピングが遅いから遅れている場合が圧倒的に多い。プログラミングはコンピュータに命令文を書いているとお伝えした。同じ時間で書ける命令文は半分になり、周りに比べて遅れが出てくる。それは理解とは全く関係がない。単純にアウトプットに時間がかかっているだけだ。対処法:タイピングをひたすら練習するだからこそ、タイピングを練習することはとても重要だ。タイピンが速くなるだけで、プログラミングの勉強で他の人に遅れることはなくなる。タイピングの速度を上げることだ。実際、アルゴリズムのような座学のときにまったく理解ができなかった人でも、プログラミングの勉強に入った瞬間に輝き出す方というのはいる。その理由の多くは、タイピングが得意だから、というそんな理由だったりする。タイピングの速度を上げる方法は、もう練習しかない。次のサイトを特にお勧めする。http://typing.lk/というサイトだが、プログラミングの勉強には最適だ。実際のプログラミングのコードでタイピングの練習ができるからだ。これはいいサイトなので、一度はチャレンジしてみてほしい。エラーが頻発してわけがわからなくなるプログラミングにエラーはつきものだ。コンピュータが悪いわけではない。命令文が間違っていたから、コンピュータは「その指示はよくわかりません」という返答をしてくれているだけだ。2,3個のエラーが見つかって、それを直すだけであれば、それほど心理的な負担はないはずだ。実際エラーの種類によっては、なかなか終わらないものもある。なると初心者の方は、プログラミングが嫌になり、苦手意識を持つようになってしまう。「コンピュータに嫌われているんだよね」などというセリフが出てくる。対処法:聞ける人を探すまずプログラミングにエラーはつきものだ。どんなベテランエンジニアであってもエラーと戦って、勝たなければプログラムを作ることはできない。エラーなんてあって当然だという風に捉えよう。エラーの大半は、エラー文面をよく読むか、そのエラー文面をGoogleに貼り付けて検索すれば解決する。プログラミングに触った状態で、そうするのはなかなか大変だろう。聞ける相手を持つことはとて大切だ。知り合いのプログラミングができる人に教えてもらうというのもいいし、スクールのようなものに通って講師がいる環境で勉強するのもいい。はじめだけでいいから人に聞ける環境を作ると、プログラミングの学習は一気に進む。飽きる何事も思い立ったその瞬間は、かなりアグレッシブに勉強できるものだ。その熱意の火は弱まっていく。人間というのはそういうものだ。必要なのは、とにかく次のいずれかの手段を使ってある程度の技術力まで行くことだ。短期間で集中的に短期間で集中的に勉強するのが一つ目だ。熱意があるうちに進んでしまうということである。効果的だし、モチベーション的にもいい。一ヶ月くらい全力で突っ走る。強制力を持たせる短期間で時間が取れなければ、何かに強制されるようにしよう。本を買うというのもお勧めで、人間はお金を払うとその分だけ、やる気が出る。反対に無料のものだとやる気を失うという不思議な性質を人間は持っている。やる気がなくなったら、次の本を1冊買うという風にすると、少しずつ前進できるはずだ。スクールや家庭教師のようなものに頼るのも効率がいい。将来的に仕事にするつもりがあるのであれば、こういった方法を取った方が費用対効果がいい。方法は何でもいいが、とにかく自分にプログラミングの勉強を強制しよう。ある程度のところまで行くと知識が染み込み、あなたの力となっているはずだ。次のことも勉強しやすくなる。そこまでスキルを伸ばしていってほしい。まとめ本日は、プログラミングがわからない理由をまとめてみた。プログラミングがよくわからないというのは、初心者であれば必ず通る道だ。そこを超えることで、はじめてプログラミングの楽しさが見えて来る。「どこがわからないかわからない」という状態よりも「ここがわからない」と思たらすでに成長だ。勉強をはじめたそのことそのものに誇りを持って、もう一歩先に踏み出してほしい。TweetPocketこのページの続きや関連ページは下記から一覧で確認できる。・「プログラマーとして転職をしたい!」という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。エンジニアの入り口に立つために必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報が詰まっています。無料で2,3日中にお手元にお届けします。資料を見てみるSNSでもご購読できます。IT研修専門企業のリナックスアカデミーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。PMいつもご愛読いただきありがとうございます。当ブログは名前通り、エンジニアの入り口に立とうとする方の一助になればと記事を作成しております。当記事以外にも、様々な分野向けの記事が揃っておりますので何か躓きそうになった際は参考にして頂ければ幸いです。今後とも、ご愛読のほどよろしくお願いいたします。AM10番、「飽きる」が大きな要素。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け資料を見てみる。