「入門書の理解はできた。でも暗記はできてないし、次に何をしたらいいのかもわからない。」
という壁を乗り越えることができました。
「目的がない」のには原因があった
プログラミングってなんかおもしろそうで役立ちそうだし勉強するか~
Pythonってのが人気なんだな、それにしよ!
というノリでプログラミングの勉強を始めたばっかりのころ、疑問に思ったことがあります。
例えばPythonでいうと、入門用の教材でまず出てくるのはこれですよね。
「print(‘Hello World’)とコードを書けば「Hello World」と結果が出力されます!」
・・・たしかに出力されました。
まず第一歩として「プログラムを入力して実行し、出力を確認すること」を習得するのが大切だということのようです。でも正直、その頃の私にはあんまりピンときていませんでした・・・。
たとえば「googleの検索フォームに文字を打ち込んで、エンターキーを押すと検索結果が表示される」ということを日常的に経験してるから?なのかはわかりませんが、それと似たような感覚でした。笑
Pythonでできることといえば、人工知能の開発・データ処理・Webスクレイピング・アプリ開発・・・などと言われていますが、
「一体ここからなにがどうなってそんなことが可能に・・・?」「そもそも人工知能ってつまりどういう仕組み?スクレイピングって何のために使うの???」と疑問だらけでした。
「明確に作りたいものがあって、それを作るのに適している言語がPythonだったから勉強を始めた」という目的がある方だと比較的続けやすいのかとは思います。
私はというと「なんとなく役立ちそうだし、面白そうだからプログラミングの勉強をしてみたい!」というきっかけだったので、モチベーションがなかなか保てませんでした。
入門書通りにコードを書いて、プログラムに簡単な計算をさせたりという基本中の基本の段階では、「これを利用してなにか便利なものが作れるんだ」という実感が持てないな~と感じていました。
つまり目的がないというよりは、「もっと具体的になにができるのか」「自分になにが作れるのか」「どういったシチュエーションで使えるのか」ということをわかっていなかっただけでした。
「目的」は、ある日突然現れる
「Pythonを使って便利なものが作れるんだ!」と初めて実感した瞬間はいつなのかというと、
「書いたコードを実行して、PCの画面が勝手に動いたとき」でした。笑
なにそれ?と思われるかもしれませんが、次のような動作をするものを書きました。
これをきっかけに、Pythonによる「自動化」や「作業効率化」分野のイメージが一気に膨らみました。
こんなふうにいろんな動作を組み合わせて、便利なものを作っていくのか~と。
Pythonが活躍する具体的なシチュエーション
具体的な例を知れば知るほど、こんなものを作りたい!という気持ちが高まってきました。
今では作ってみたいものがありすぎて逆に困るくらい。
もちろん初めに基礎を勉強する必要はありますが、無理に暗記しようとはせずに何か簡単なものをひとつ作ってみると一気にモチベーションが上がりますね。
何かを作ってみるといっても、誰かが「使っていいよ~」と公開してくれているコードをまずは真似して、コードの意味をひとつひとつ調べながら進めていきました。
ある程度基礎が理解できたら、なにかを作りながら覚えていくという方法がいいんだなと思いました。
目的がないと学習は難しいと言われているのはそういうことだったんですね~。
納得。