以下の行為に思い当たる節はないだろうか?
- エラーメッセージが出たらすぐに画面を閉じる
- お手本とどこが違うかをひたすら探す
もし、そうなら「成長のチャンス」をみすみす逃している可能性が高いです。
今日からでも切り替えてください。
エラーは仮説と検証で解決する
プログラミング初心者の多くは「エラーを出すのはダメな行為」であると思い込んでいます。
エラーを出すと致命的な大失敗したかのように誰にも見られないように素早く画面を閉じ、どこが間違えているんだろうとお手本とにらめっこを始めます。
この行為はとても勿体無いのです。
「エラーはチャンス」
エラーを適切に処理することで知識もスキルも成長するのです。
出たエラーをどうやって解決するかで成長するかどうか決まります。
まず間違い探しを止めよう
エラーが出たらまるで罰でも受けたかのようにお手本を最初から見比べ、間違い探しのように一言一句写し取ろうとする初心者は多いです。
まずはこの行為をやめましょう。
脳は単純作業が嫌い
人間の脳は単純作業が嫌いです。とてもストレスです。
写経や間違い探しってものすごく疲れませんか?
プログラミングは本来クリエイティブな作業のはずなんですが、写経や間違い探しはクリエイティブから遠く離れたところにあります。
この作業で脳が疲れ果てて、アプリの仕組みを考えるとかロジックを考えるとか楽しい部分から遠ざかるなんて本末転倒です。
大切なのは仮説を立てること
エラーメッセージにはプログラムを実行する上で大切な情報が含まれています。
SyntaxError: incomplete input
このエラーメッセージには 入力が完了していないという内容が書かれています。
このエラーメッセージから「入力処理(input)の周辺で完了していない部分にエラーがあるに違いない」と仮説を立てて、その周辺のコードを調べます。
IndentationError: unindent does not match any outer indentation level
インデントが揃っていないというエラーメッセージがあれば、該当部分のインデントが揃っていないのでは?と仮説を立てて、その周辺のコードを調べます。
エラーが出たら、まずエラーメッセージからなぜエラーが出たかの仮説を頭の中で立てるます。
画面を閉じるのではなく、お手本と見比べるのではなく、最初に仮説を立てるのです。
仮説を立てて検証する、それは論理的な行為です。
プログラミングに必要な論理的思考を身につけるにも役に立ちます。
出来ることから始めよう
もちろん最初からは難しいでしょう。時間もかかると思います。
学校などで集団学習している時は授業に遅れるからと焦る気持ちもわかります。
ただ、「お手本とにらめっこ」は、ものすごく遠回りなんです。
何も考えずに間違い探しを続けてもそこに成長は期待出来ないのです。
どんなに達人でも必ずエラーを出します。
エラーを出さないプログラマーなんていません。
出来る人は自然とこの仮説と検証が出来ています。
たくさんの初心者を指導してきましたが、プログラミングがマスターできない人の多くは何ヶ月経っても「お手本とにらめっこ」「間違い探し」が卒業出来ません。
「間違い探しを卒業して、論理的に仮説を立てる」脱プログラミング初心者の一番のコツです。