目次
「プログラミングが苦手」から卒業しよう!
未経験でSEになってもう1年、まだプログラミングに苦手を感じているあなた、SEとしてプログラミングを上達させたいけど、正直誰からもプログラミングの上達方法について教わったことってないですよね…😓
これから紹介する3か条を意識して実践していけば、未経験だったり文系出身だったりするあなたでも、格段にプログラミングが上手くなります!
実は、この3つを意識して実践するだけで、生まれて22年間プログラミングとは無縁だった私でも、今ではリーダーを務められるくらい技術力を伸ばせたんです!
その方法とは以下の通りです、これだけはこの記事で覚えてください!
一、 とにかくエラーを出す
二、 「デバッグ」を覚える
三、 文字に起こす
まず、プログラミング(コーディング)での作業がどんどん上達していく人は以下の流れを意識的に繰り返しています。
プログラミングが上達する人のサイクル
①コードを書く
②エラーを出す
③エラーから学習する
④またコードを書く
私自身も、この流れを意識的に繰り返すようにしています。仕事でいうところのPDCAサイクルのようなものです。この流れの各ポイントを押さえていくための3か条が先ほどのものになります。
それでは、初心者が抑えるべき3か条について、詳しく見ていきます。
最も大切なのはエラーを出すこと!
まずこれが最も大事です。
先ほどのプログラミングが上達する人のサイクルの②にあたりますね!
その気持ち、よくわかります…!
私は普段JavaのプログラミングをEclipseで行っているのですが、赤線がコードに引かれたときはがっくりしていました😞
でも、エラーを出さないことにはプログラミングは始まりません。
これは先ほど紹介した
これには人間の心理も関わってきます。
人間は失敗したことほどよく覚えています。これはネガティブバイアスと呼ばれ、心理学・脳神経学でも出てくる用語です。
・ネガティブバイアス
失敗したこと・つらいこと・悲しいことなどの方が、成功したこと・楽しいことよりも覚えやすい性質のこと。
人類の進化の過程で生存戦略として発達してきたと言われています。
私が小学生のときに階段から落ちた記憶や、鉄棒から手を放して背中を強打したりした記憶が残っているのもそのためです。
おそらくですが、あなたも小さい頃の失敗した記憶・痛かった記憶は鮮明に残っていると思います。
ともかく、エラーを出す(=失敗をする)ことで、脳にその記憶が刻まれます。
それによって、次に同じ失敗を繰り返さないように工夫していきます。
ですから、失敗しても、エラーを出しても、そのたびにあなたのプログラミング能力は上がっていくチャンスが来ているととらえましょう!
「デバッグ」を覚えよう!
デバッグというのは、作ったプログラムが正しい動きをするのかを確認するための行為を指します。
「デバッグ」には大きく2種類あると思います。
1つ目が、エラーメッセージを読み解くこと。
2つ目が、処理の流れを追うこと。
この「デバッグ」は先ほど説明した、プログラミングが上達する人のサイクルの③にあたりますね!
正確には③の前半でしょうか。
エラーが出ることはわかったら、
なぜエラーになるのか
を突き止める必要があります。この作業こそ「デバッグ」です。
エラーメッセージはヒントの山!
SQLでDBにアクセスしたとき、Javaを実行したときなどにコンソールにエラーメッセージが出てきますよね?
これらを読み解いて、そこからどんなエラーなのかを突き止められることがまず大切です。
エラーにはいろんな種類があります。
画像にあるような「404 – Not Found」は有名ですよね、多分見たことはあると思います。
これは「所在不明」ですので、URLのリンク切れなどで起こるものです。
このように、エラーには1つずつ意味がきちんとあります。
言語を作った人たちは優秀ですので、「この場合にはこのエラーを返す」というのが決まっています。
そして多くのエラーの場合、GoogleでもChat-GPTでもCopilotでも、検索することでそのエラーは何を指すのかを教えてくれます。
おそらくですが、あなたが出すエラーについて、「地球上で初めてこのエラーが出てきた」ということはないはずです。
世界のどこかの誰か、日本の誰かさんがすでに出会っているエラーです。
そのため、エラーが指す内容や、エラーが起きたことへの対処法は簡単に出てきます。
それを見て、あなたは修正していけばいいんです!
エラーメッセージが1つあることだけで、それを検索することだけで何をどうすればいいのかがわかるなんてお得ですよね。
できれば、もし時間に余裕があるなら、対処法は見ないでおきましょう。
対処法を見てしまうと、答えを見てそれを書き写すだけになってしまいがちです。
それだと学習での習得効率は落ちてしまいます。
より効率よくプログラミングを上達させるのであれば、急がば回れです。
対処法は見ずに自力でプログラムを直してみましょう!
処理を1つ1つ見ていこう!
一般的な「デバッグ」はほぼこちらになります。
だいたい、どの言語や開発ツールでもデバッグ専用のモードや文法がありますので、そちらを使ってください。
私が使っているEclipseだとこんな感じの画面になります。
このデバッグモードを使うことで、処理が実際に行われているときの情報をつかむことができます。
例えば、
・どの分岐に入るのか
・変数にどんな値が入るのか
・どのタイミングでエラーになるのか
のような情報を得ることができます。
例えば、難しい数学の問題で計算ミスをしちゃったとしましょう。
その時に、いちいち全部の計算をやり直すなんてしたくないですよね?(私は計算が苦手なのでなおさら嫌です)
ここで、デバッグを使えば、どの計算でミスが起きてるのかをすぐに突き止められます。
足し算の繰り上がり忘れたとか、代入する値間違えたとか、そういうのを見つけて、そこを計算し直す方が楽ですよね!
全部の処理を通して、その結果だけ・エラーメッセージだけを見るのは、原因を突き止めるまでに時間がかかってしまいます。
デバッグモードを使えば、「この処理まではこの値が入っているな」とか「こっちの分岐に入っちゃうんだ…」とかがわかります。
それによって、上手くいかない処理の原因の特定がしやすくなりますので、めちゃくちゃ便利な機能です!
文字に起こす
これは、意外とできない人ほどさぼってしまうことになります。
プログラミングができる人たちは文字に起こさなくてもできてしまうので、それを見習ってしまってはダメだよということです。
文字に起こすのは、先ほどのプログラミングが上達する人のサイクルの③の後半ですね。
エラーが解決できそう!という状態のときや、ほぼやり直しだ!という状態のときに、特に心がけてください。
こちらについては、以下の記事で詳しく書いていますので、ぜひご覧になってください!
なんで文字に起こすの?!という方はこちら
詳細設計なんて不要!Javaは写経してれば書けるって本当?!
まとめ
この記事のまとめは以下のようになります!
・プログラミング上達の3か条は…
エラーを出す!「デバッグ」を使う!文字に起こす!
・プログラミング上達する人のサイクルは…
①コーディング
②エラーを出す
③エラーから学ぶ
④再度コーディング
プログラミングは1日や1週間ですぐに上達するものではありません。
それでも、地道に知識と経験を積み重ねていけば、ある日いきなり開眼します。
(もちろん、徐々に成長を実感できる人もいます。)
とにかく、プログラミングに限らずあきらめずに継続することが大切です。
あなたには、ぜひ上達法を実践して、一流エンジニアへの道を駆け上がっていただきたいなと思います!
最後まで読んでいただき、ありがとうございました!