ユーニックス総合研究所

  • home
  • archives
  • programming-imi-nai

意味のないプログラミングの特徴3つ

プログラミングの勉強は意味ないのか?

プログラミングの勉強をしていると思ってしまうのが

「ひょっとしてプログラミングの勉強って、意味ないんじゃないか?」

ということです。
この考えが頭によぎってしまうと、勉強のモチベーションがだだ下がりです。
果たしてそうなのでしょうか?

結論から言うと、プログラミングの勉強には意味があります
その意味とは↓のようなものです。

  • 本番アプリを作ることの意味
  • 将来のビジョンを描いて意味を持たせる

🦝 < 具体的に解説していきたいと思います

意味はある

プログラミングの勉強には意味があります。
その意味とは、自分のアプリを作り将来のビジョンを持つことです。
これらがそなわっていないと、プログラミングの勉強には意味がないように思えてしまいます。

意味はあるけど人による

注意したいのが、プログラミングの勉強には意味がありますが、それは人によるということです。
人によってはまったく意味ないということもあり得る話です。
問題なのは、自分がそういう人なのか、それともそうじゃないのか、と言うところです。
この区別がつけばプログラミングに意味を見出すことはできます。

意味ないことへのストレス

プログラミングに意味がないということが頭によぎってしまうと、それがしつこく付いて回ります。
自分は意味ないことをやっていて、時間を無駄にしているんじゃないか?
せっかく買った教材も、意味ないなら無駄なんじゃないのか?

そんなことが頭によぎり続けます。
やがてそれは自分の頭の中に居座り、大きな顔を持つようになります。
すると人はプログラミングの学習へのモチベーションが下がり、なにもやりたくなくなるわけです。

意味ないことはやりたくない!

意味ないことはやりたくないのが人の本音というものです。
だれも自分の時間を無駄にしたくはありません。
意味ない仕事、つまりお金が発生しない仕事はだれもやりたくありません。
もちろんボランティアのようにお金以外にモチベーションを感じることはありますが、それでも人のためにならなければやりたくないのが本当のところです。

それは合理的で理性のある人間の考えと言えます。
いたってノーマルで普通の考え、常識です。

そもそも意味を求めるのは間違いか?

そもそもプログラミングに意味を求めるのは間違いなのか?
いいえ、間違いではありません。
プログラミングの学習には多大な時間を投資するものです。それに見返りを求めるのはいたって普通のことです。

意味のないプログラミングとは?

それでは意味ないプログラミングとはどういうものなのでしょうか?
時間の無駄になっているプログラミングとは?
じつはこれはプログラミングをする者にとって、かなり身近に潜んでいます。

しかしなかなか気づきにくいので、気が付いたら時間を無駄にしていたなんてことがよくあります。

同じ事ばかりやっている

意味ないプログラミングの代表格が、同じことを何度もやっているということです。
誤解のないように言っておきたいのですが、同じことを繰り返しやるのは別にわるいことじゃありません。
スキルを習得したい場合、筋トレのように同じことを何度もやるのは有効な手段です。

しかし、問題の解決に関しては別です。
その手順、自動化できませんか? ということです。
自動化できることをわざわざ手作業で繰り返しやるのは、明かな時間の無駄です。意味ないです。

それから勉強に関してもそうです。
その課題はすでに覚えていませんか? 何度もやる必要がありますか? というところです。
一度身に付いたことは定期的に復習すれば良く、短時間で何度もやる必要はありません。

エラーを解決しないで放置

エラーを解決しないで放置、これはけっこうあるあるです。
だって解決できないですからね。
しかし、解決できないエラーと言うのは無情ですが、その間の時間が無駄になっています。
解決できればそれは無駄じゃないと言えますが、いつまで経っても解決できないエラーは無駄です。

プログラミング初学者はエラーに捕まるとなかなか解決できないことが多いです。
そのためエラー解決に時間がかかり、上級者に比べて時間を無駄にしている感覚が強く残るものです。
この感覚が強いと「プログラミングって意味ないんじゃないのか?」というのが強くなっていきます。

練習ばかりで本番がない

あとは練習用のコードばかり書いて、本番用のコードを書かない場合も意味ない感覚が強いです。
何のためにプログラミングを勉強するのかと言うと、それはアプリを作るためです。
ですので、アプリを作ってないとプログラミングの意味を感じにくいわけです。

もっとも、競技プログラミングなどに意味を見出す場合は別です。
あれは小さいアプリを作っているようなものなので、意味を見出すことは可能です。

問題なのはコード片ばかり書いていて、アプリを作らない場合です。
この場合はプログラミングに意味を感じにくいです。

意味のあるプログラミングとは?

それでは意味のあるプログラミングとは何なのか? というところです。
これは簡単に言うと↓の3つです。

  • 本番アプリを作っている
  • エラーやバグを解決する
  • お金になる

本番アプリを作っている

まず「本番アプリ」とは「自分の作りたいアプリ」のことです。
プログラミングで実現させたい具体的なモノです。
これを作っていると、プログラミングに意味を感じやすくなります。

初学者の場合は大したアプリは作れないので、練習用の本番アプリを作ると良いでしょう。
つまりちょっと高めの課題を自分で設定して、そのアプリを時間をかけて作ってみるということです。
これは非常にいい練習になるので試してみてください。

エラーやバグを解決する

エラーやバグを解決することは、それ自体に意味があります。
というのは、人の役に立つということです。

エラーやバグの解決方法をネットで記事を書いたり、Q&Aのサイトに投稿すれば、それだけでその解決方法に価値が生まれます。
エラーやバグ解決を楽しめるようになったら、私はプログラミングをする者としてベテランと言ってもいいと思います。

初学者の内はエラーやバグはまったく楽しくないかもしれません。
しかしエラーやバグ解決はちゃんと意味があることです。そのことを意識してみましょう。

お金になる

あとは具体的にプログラミングがお金になれば意味があるように思えます。
これはクラウドソーシングなどでプログラミングで稼いでみるとわかります。自分のスキルがお金になるという自信が付き、さらにプログラミングが楽しくなります。

初学者の場合はスキルがお金になるのはずいぶん先の話です。
そのためお金をモチベーションにしてしまうと意味を感じにくいと言えます。
最初の内はお金以外のこと、つまりスキルの習得自体にモチベーションを感じるようにした方が良いかもしれません。

意味あるプログラミングをするには?

意味あるプログラミングをするにはどうすればいいでしょうか?
これは簡単です。

本番アプリを1つ作り始める

なにはともあれ本番アプリを1つ作り始めましょう。
最初はなんでもいいです。

具体的に作りたいものがあるなら、それを早い段階から作り始めても良いでしょう。
たとえばWebアプリやデスクトップアプリ、iPhoneアプリなどです。

データ構造とアルゴリズムの勉強をする

勉強自体に意味を感じたいという人におススメなのがデータ構造とアルゴリズムの学習です。
これは不偏的で、上級者になってもやっておいてよかったと感じられるスキルの1つです。
特に作りたいアプリが無い場合もこれを勉強しておけば、将来的に役に立つでしょう。
その根拠は、私の経験です。私は初学者の時にデータ構造とアルゴリズムの勉強をしましたが、その知識は10年以上たった今でも役に立っています。

将来のビジョンを描く

プログラミングを意味あるものにしたければ、将来のビジョンを描くようにしましょう。
具体的にはプログラミングを通じて自分がどうなりたいか決めるということです。
このビジョンを描くのがうまい人は、モチベーションを維持しやすいです。将来の自分をイメージすることで、勉強にも身が入るからです。

将来のビジョンの描き方

それでは将来のビジョンはどのように描けばいいのでしょうか?

具体的な目標を決めよう

それは具体的な目標を決めることです。
たとえば↓のような目標です。

  • Webアプリで月収10万
  • デスクトップアプリで1万ダウンロード
  • 自分の仕事を全部自動化

目標は具体的であればあるほどいいです。
目標を具体化できれば、あとはそれを実現する方法を逆算的に考えるだけです。
そしてそれを実践すれば、自分の描いたレールの上に乗ることができます。

おわりに

プログラミングは意味ないのか? それは人によります。
そして具体的なビジョンを描ける人ほどプログラミングは強い意味を持ちます。
意味のあるプログラミングを実現するために、今すぐ将来のビジョンを描いてみてください。
描けなかったらデータ構造とアルゴリズムを勉強しておきましょう。

🦝 < 未来の自分を描いて進め

🐭 < 過去を良い思い出に