第五十六回:プログラミングの勉強がつまらない人へ
今日は2020年9月21日です。実は最近「毎日、何か違うことをする」という試みをやっています。その一環として、今日はちょっとお高いロールケーキを食べながらコラムを書いてみることにします。いやっふー!それでは今回もゆるく行ってみましょう。超不定期連載「分かりそう」で「分からない」でも「分かった」気になれるITコラムでございまぁす。このコーナーでは、各用語の説明ページでは取り上げにくいIT関連のネタをテーマに、だらだらと思いついたことを書いていきます。みなさんが「あぁ、なんか役に立ちそうな気もするけど、役に立たないかなぁ。でも、もしかしたら役に立つかも」と思える情報を発信できるように頑張ります!
はじめに
栄えある五十六回目のテーマは……ピヨピヨピヨピヨ(ぴよぴよ的ドラムロール)……じゃん!
プログラミングの勉強がつまらない人へ
です。
いつの頃からか「プログラミングの勉強」をする人が増えました。
楽しくやっている人は良いのです。
やりがいを感じて前向きにやれている人も問題ありません。
ただ、中には
なんか小難しくてよく分からないし、ぶっちゃけプログラミングが面白いとも思わないけど、手っ取り早く手に職をつけるために嫌々(?)プログラミングの勉強をしている
ように見受けられる人もいます。
今回のコラムは、そんな人に向けて書いていきます。
ちなみに、お忙しい人向けに先に結論を書いておくと
もうちょっと遊んでみても良いんじゃない?
です。
最後まで読んでくださる方は、この結論を知らないことにして読み進めてください。
楽しくないなら止めれば?
苦痛に耐えて一生懸命プログラミングの勉強をしている人を見る度に思うのです。
「大変そうだなぁ(--)」って。
煽りでも何でもなく、素朴な疑問なのです。
どうして楽しくないのにやるのでしょうか?
別に誰かに強制されているわけでは、ありませんよね。
自分の意志でやっているはずです。
なんでやるの?
楽しくないならさっさと止めて、他のことをすれば良いじゃん。
もちろん個々人の事情はあるでしょう。
「手に職を付けたい」「在宅で仕事をしたい」「今、流行りだから」などなど「楽しいからやる」以外の動機があることは理解します。
ただ、ですよ。
もし仕事にしたら、その「楽しくないこと」を、ずっとやり続けることになります。
それって、嫌な上司にペコペコしてストレスを溜めるのと何か違いますか?
それに「さぁ!仕事としてやるぞ!」となったときの競争相手は、プログラミングが楽しいと思っている人たちです。
そんな人たちと張り合わなくてはいけません。
かなり大変そうじゃないですか?
本当に、本当に、本当に、疑問なのです。
「楽しくないなら、なんでやるんだろう(--?」って。
一回、美味しく食べてみない?
楽しくないのにプログラミングの勉強をしている人を見ると「マズいけど栄養がありそうだから頑張って食べるか……」と嫌そうな顔をしながらピーマンを食べている人を連想します。
これって、ピーマンが好きな人からしたら、しょんぼりするじゃないですか。
「ピーマン、美味しいのに……(´・ω・`)」ってなりますよね。
それに近い感覚を覚えます。
つまらなそうにプログラミングの勉強をしている人を見るとですね。
「栄養吸収率は高いけどクソマズい食べ方」をしているのです。
「あぁ、確かに基礎を学ぶなら、それが手っ取り早いだろうね。でも、つまらなそうだね」なやり方です。
プログラミングの世界は、あなたが考えているほど不自由ではありません。
もっと自由で、もっと好き勝手できて、もっとヤバいものです。
是非「栄養吸収率は落ちるけど、美味しい食べ方」も試してみてください。
「体系だって学ぶよりは効率が落ちるけど、楽しいね」なやり方だってあります。
もしかしたら、クソつまらないと思っていたプログラミングが楽しくなるかもしれませんよ?
それでは次に「栄養吸収率は落ちるけど、美味しい食べ方」の一例を紹介します。
遊んでみなよ
ちょっと遊んでみましょう。
例えば、そうですね。
以下の処理を見てください。
for(i=0; i < 5; i++){
print i;
}
これは「繰り返し処理」と呼ばれる処理のひとつで「for文」と呼ばれるやつを使っています。
処理の内容は、大雑把に説明すると
1.{ ~ }の中の処理を5回繰り返す
2.「i」の中身(繰り返すごとに1ずつ増えていく値)を画面に表示する
です。
おそらく、プログラミングの「勉強」をしている人は、この処理の内容を理解できるようになったら(for文の使い方を覚えたら)次の単元に進むでしょう。
「よし!for文については学んだぞ!」という気分になっているはずです。
はい、突然ですが、ここで問題です。
for文の中の「5」を文字列の「a」に変えたら、どういう動きになると思いますか?
具体的には
for(i=0; i < 5; i++){
print i;
}
を
for(i=0; i < "a"; i++){
print i;
}
に書き換えた場合です。
エラーになりますかね?
それとも、何回かループするのでしょうか?
無限ループ(繰り返し処理が終わらない状態)になる可能性もありますよね?
どういう動きになるかは私も分かりません。
ですが、実際に書き換えて動かしてみれば、すぐに分かります。
プログラミングというのは、ですね。
パズルとかクイズみたいな楽しみ方もできるのですよ。
「ここをこう書き換えたら、どうなるんだろ?」と疑問を持ち、実際に書き換えて動かしてみて「あぁ、こうすると、こうなるのか」と答え合わせができます。
今回、紹介したのは楽しみ方の一例ですが、カリキュラムに沿ってプログラミングの「勉強」をしているだけでは味わえない楽しさでしょう。
ある意味、何の目的意識もない「遊び」だからこそ味わえる楽しさです。
ただし、です。
その「遊び」から学べることもあります。
もし先ほどの処理がエラーになったら「ふーん、数字を書くべきところに文字列を書くと、こんなエラーになるんだ」ということを学べます。
エラーにならなかったら「なんでエラーにならなかったのか?」を突っ込んで調べることで、おそらく何かしらの理解が深まります。
遊びだって時間の無駄にはなりません。
回り道をしても歩き続ける方が有意義
さて、ここまでを踏まえて以下の2つを比べてみてください。
1.クソつまらない「勉強」で「絶対に役に立つ」基礎を学ぶ
2.ちょびっとだけワクワクする「遊び」で「役に立つかもしれない」雑学を学ぶ
の2つです。
私の体感的には、つまらなそうにプログラミングの勉強をしている人って、極端に「1」に偏っているのですよね。
それで最後までやり通せるのであれば問題ありませんが、結構な割合でイヤになって止めちゃったりします。
もったいない!
イヤになって止める前に是非「2」を試してみてください。
大丈夫です。
ネットワークの線さえ引っこ抜いておけば、どんなにメチャクチャなことをやったとしても、最悪の事態は「パソコンが壊れる」程度です。
ウン十万円払ってスクールに通ったりするのに比べたら、数万円のパソコンを1台壊すのなんて、たいした出費ではありません。
それでいてスクールに通ったのと同じくらい、あるいはそれ以上の勉強になるはずです。
さぁ!
パソコンをぶっ壊せ!
……じゃなかった。
いろいろ好き勝手に、やってみましょう!
そりゃー、教科書的なものに従って、1つずつ順番に知識を詰め込んでいった方が効率は良いと思いますよ。
でもね。
プログラミングなんて遊んでたって学べるのです。
「勉強」して挫折するくらいなら「遊び」ながら続けていった方が、結果として、あなたの目指すゴールに近付きます。
まとめ
今回は
プログラミングの勉強がつまらない人へ
というテーマで好き勝手に語ってみました。
プログラミングの勉強がつまらない人に対して私が言いたいのは
もうちょっと遊んでみても良いんじゃない?
です。
プログラミングの知識を増やす方法には
1.クソつまらない「勉強」で「絶対に役に立つ」基礎を学ぶ
2.ちょびっとだけワクワクする「遊び」で「役に立つかもしれない」雑学を学ぶ
の2つがあります。
プログラミングの基礎を習得することだけを考えれば、確かに「1」の方が効率は良いです。
ただし、それでイヤになって止めてしまっては、元も子もありません。
是非「2」も試して、プログラミングの楽しさも味わってみてください。
思いつきで始めて惰性で続けている「分かりそう」で「分からない」でも「分かった」気になれるITコラムですが、いかがでしたでしょうか。また何かネタがあったら、ちまちまと更新していきます。コンゴトモヨロシク。






