プログラミング教育で何を教えるか


ITコーディネータの吉田聖書よしだみふみです。

近年、IT人材を増やそうということで
小学校、中学校、高等学校でのプログラミングの授業が
必修になることはすでに皆さんご存じのことと思いますが、
小学校は2020年から必修科目になります。

特に小学校の場合は、社会に出てからの実務というよりも
プログラミングの楽しさを探検してもらうことに主眼を置き
プログラミングの考え方を中心に教えることで充分でしょう。

中学、高校と上がっていくにつれて、
より具体的な(例えば数学や理科の授業で習うような)計算を
コンピュータで行うといった課題に
取り組んでいくことになろうと思います。

同様に企業でもこれからはIoTやAIといった、
業務でデータを活用する場面が増えてきます。
よって、ITベンダでなくても今後はあらゆる業種の企業で
プログラミングの研修を必修化してはどうでしょうか。

ただし、企業ではプログラミングの考え方や
ちょっとした計算問題の解き方を教えるだけでは不十分で、
それだったらこれまで通り各自が独学でも対応できます。

では、企業の研修としてはそれらに加えて何を教えるべきでしょうか。

それはネーミング(名付け)です。

なぜか。
適切なネーミングはプログラムコードの読みやすさの第一歩だからです。

またネーミングの技術は使用するプログラミング言語に依存しません。
特定の言語を学ばせれば、ある業務には役に立つかもしれませんが、
ある別の業務には役に立たないということもありますし、
そもそもプログラミング言語には流行り廃りがあります。

ネーミングの技術であれば、そういった技術の進歩に関係なく
どんな局面においても活用できる汎用的な技能(スキル)です。

ボズウェルとフォシェの共著による「リーダブルコード」では「読みやすさの基本定理」として次のような基準を掲げている。

コードは他の人が最短時間で理解できるように書かなければいけない。

では、なぜ「読みやすさ」が必要なのでしょうか。
他社のシステムを受注して納品するようなケースでなく、
一般企業が自分たちで使うプログラムであれば
「読みやすさ」といった特性は不要と考える人もいるかもしれません。

例えば、
企業の施策として開発したプログラムでなければ、
社内に散在する大抵のプログラムは
元々は一人の社員が便利だからといって開発したようなものが多いです。
本当に便利で有用なものであれば
それがいつの間にか全社や全部門で使われるようになります。

先ほど引用した「リーダブルコード」でも次のように指摘されています。

たとえ君ひとりのプロジェクトだったとしても、この目標には取り組むだけの価値があるんだ。「他の人」というのは、自分のコードに見覚えのない6か月後の「君自身」かもしれない。君のプロジェクトに途中から誰かが参加しないとも言い切れない。「使い捨てのコード」が他のプロジェクトで再利用される可能性だってある。

一個人が作ったものであれ、企業内で作ったプログラムは
有用であればあるほど結果的にその企業の資産になっていくのです。
もしメンテナンスできなければ会社にとって損失となります。
ですから読みやすいコードを書けるというのは必須のスキルであり、
企業として意識をもって育成していくべきでしょう。

Comments are closed.