はじめに
お疲れ様です。ERP事業部大阪開発部の田原です。
今月から大阪支社へ配属され、GRANDIT研修を日々行っております。
基本的な業務知識を理解していないと自分が今何の機能を実装しているのかというイメージがつかないため、ただ漠然と機能を実装しているだけでは難しい研修となっています。
プログラミング知識の方もGRANDITのソースコードは本社研修では見なかった記述の方法が多くあり、日々勉強になり、時折学生時代を思い出しています(笑)
今回はその学生時代に私なりに確立したプログラミングを学ぶ際に意識していることを共有しようと思います。
プログラミング”言語“
プログラミングに対して苦手意識を感じる人も正直言って多いと思います。情報系の大学でもそういう人は少なくなく、大学院に進んでいる人でも該当者はいました。
その理由として考えられるのは単純に嫌いというのもあるでしょうが、勉強方法を知らないというのもあるんじゃないかと思います。自分も学び始めたころはそんな感じでした。要因はたくさんあるでしょうが、自分の中で一番納得できるものがあります。
ここからは大学時代の教授の受け売りになりますが、CやJavaといったものは”言語”なんですよね。子供のころからずっと扱っている母語というものがみなさんあるはずです。それを扱えるようになった順番は最初に”聞く・読む”から理解して”話す・書く”というのが大多数だと思います。つまり、同じプロセスを踏むことでプログラミングも扱えるようになるというのが土台の考えになります。
当たり前のことのように聞こえるかもしれませんが、苦手意識を持ってる人ほどこの当たり前ができていないことが多いというのが、昔バイトでプログラミングを教えてた時の自分自身の所感です。
読んで読んで書きまくろう
以下に読み書きのなかで自分が意識しているポイントを紹介します。
読み
・構文を調べるときは公式リファレンスを極力読む。なぜなら公式が言ってることが絶対だから。
・色々な人が書いたコードを読む。読みやすさの指標を自分で作れるようになる。
・理解するときには構文単位ではなくプログラムの構造で理解するようにする。構文で理解すると丸暗記になりやすいため、プロジェクトの全体を捉える読み方。(ファイルが複数になればなるほどおススメ)
・コード1行1行の意図を把握する。
書き
・読みで見つけた自分が読みやすいと思うコードを真似する。どんどん真似して良いのです!
・真似するのはいいが、学習段階ではコピペは極力避けて写経する。
・コンパイルと実行はこまめに!慣れないうちは数行書くごとにやるのがおすすめです。
・まず書いてみる!!の意識をもつことが大事。エラーを怖がらずに。
以上になります。細かく言っていくともっとありますが、上記の中で最も大事だと思うのは”まず書いてみる”という考え方です。
無論これは読んでから書くという順番を厳守することが前提です。自分の理解した考えが正しいのかという確認方法はアウトプットするしかないと思います。プログラミング言語は通常の日本語などの言語と違い、間違っていた場合は明確にエラーを発してくれます。そのエラーを基に再度書く。それでも無理な場合はまた読みの工程に戻る。
これの繰り返しで自分はプログラミングの理解が進みました。
おわりに
長々とここまで述べてきましたが、途中で書いたようにこの意識している読んでから書くっていうのは”当たり前”と言われるとそれまでのことなんですよね。
ただその当たり前ができていない理由としてはとても根気のいる作業だからだと思います。母語が身についたときは自然とIN/OUTの機会が多く与えられていたため、苦に感じることは少なかったはずです。しかし、プログラミングの場合は自発的にコードのIN/OUTの機会を作らなければならないため根気がいるという結論になると思っています。
この根気のいる作業を継続させるために精神面でおすすめなのは「楽しむ」ということです。他の人の真似して書いたコードでも全然いいので自分で実装したということに対して面白さを感じると楽しくなってきます(笑)
今回紹介した考え方はあくまで自分なりのものなので、もっと効率的な方法もあると思います。
ですが、読んで読んで書きまくる方法は時間はかかるけど確実な方法だと思っているので、ぜひ参考にしていただけたらと思います。
ちなみに高校時代の英語の構文の書き取りは嫌いだったなあ……..