作りたいものがないと、プログラミング学習は挫折しがちって聞くんですけど、あれってどうなんですかね?
僕はビルメンネットっていう清掃会社同士のマッチングサービスを作りたかったんで、それで始めたんですよ。だから明確な目的はあったんですけど、それでも目的がなかったらやってないかと言われれば、これは分かりませんね。
過去に戻ることは出来ないので、検証のしようがないんですけど、目的がなくても学習は出来るし、情熱は保てると思っています。
「何を学習していけばいいか分からない」っていう初心者の悩みに対して、「自分が作りたいものを作ればいいんだよ。その過程で自然と身に付く」なんていう、上級者の解答を目にしたこともあるんですけど、こういうのってさすがにハードルが高いと思うんですよ。
プログラミングが、まだ右も左も分からない状態だと、自分に何が作れるのかはもちろん、作りたいものの難易度も分からないじゃないですか。
基礎を身に付けた時点、つまり初級者レベルの技術で、何のアプリやWEBサービスが作れるのかって、全然分からないことだから。
作りたいものから逆算して勉強するのは、確かに効率的だし、モチベーションも高く保てるんですけど、そうじゃなくて、今の技術で出来るものから足していくもの、全然ありだと思っています。
てか僕のアプリなんて、まさにそうですしね。いつも作りたいものが明確にあるわけじゃなくて、今の自分の技術で作れるものを作っています。
最初は絶対に作れるだろうってものから作るんですよ。本当に初心者のときは。
おみくじアプリでもいいし、ルーレットアプリでもいいし、占いアプリでもいいし、クイズアプリでもいいんですが、このへんは簡単なんで、とりあえずこのへんから作るんです。
教科書に載ってるサンプルゲームみたいなのもいいですね。それにちょっと手を加えて、とりあえず作りましょう。
んで、そうやって適当にポコポコ作ってる間に、自分の技術っていうかレパートリーが広がってるんで、それを組み合わせると、これまでよりちょっと上級のものが作れるんですよ。あとはそれの繰り返しですね。
目的意識を持ってプログラミングを始めるんじゃなくて、とりあえずプログラミングの基本を覚えてから、徐々に手を広げてくって勉強法、これ全然ありでしょう。
なんか、目的がないとダメって意見を聞くので、その反論を書いてみました。
☆☆☆
少し話がズレるんですけど、プログラミング学習って、ほんとモチベーションの維持が大変だと思うんです。
挫折するときっていうのは、モチベーションがなくなったときなので、逆に言えば、モチベーションさえ保ててれば、学習は続くわけですよ。
なので、自分のハードルを限界まで下げることが、プログラミング学習を長続きさせるコツだと思っています。
僕もあれですよ。マジで難しいものには手を出しません。今の自分には、到底無理だって思うものは、作ろうとしないんですよ。
そのアプリを作るのに、10の知識が必要だとしたら、限界で5ですね。今の自分が5の位置にいれば挑戦します。5より下、3とか2だったら、絶対にやりません。
挑戦した結果、全然ダメだと、プログラミングを嫌いになっちゃうから。
だからプログラミングを始めるとき、例えばアプリを作るときなんていうのは、とりあえず何でもいいから1本リリースすることを目標にすればいいんですよ。
全部で3問しかない2択のクイズでも、多分審査通ります。アップルさんも、多分この線からは通してくれると思うので大丈夫。
(通らなかったらごめんなさい。そのときは5問にしてみてくださいねw)
または、名前を入力してもらって、その姓名診断をするアプリでもいいですね。
診断結果なんて、適当でいいんです。てか僕が最初に出した来世占いってアプリは、露骨にその仕様でしたw
自分のハードルを下げるだけ下げて、簡単なものをポコポコ作ること。
プログラミングのモチベーションを保つのは、これが一番だと思います。
モチベーションさえ下がらなければ、学習も長続きして、徐々に技術は上がりますからね。
P.S.
本当に簡単なアプリでも、自分の書いたコードがちゃんと動いてると感動しますよ。マジで。
ボタンを押して、その結果をランダムに返す、なんてだけでも、僕は感動しました。
これはおみくじアプリのそれですね。