フレッシャーズのための組み込みソフト開発講座 ――新人エンジニアがまわりの信頼を勝ち得るには...
●だれでもプログラマになれるのか?
最近聞いた話ですが,「就職口がないからプログラマにでもなろうか」という人がいるそうです.実際,学校でもそのような進路指導があると聞きます.世間では,「だれでもプログラムを書ける」=「だれでもプログラマになれる」という認識がいまだにあるようです.
プログラムはコンピュータに実行させる作業手順書ですから,手順を書くだけなら(プログラミング言語の文法を知っていることは前提),おそらく「だれでもプログラムを書ける」のだと思います.しかし,これは「だれでも文章を書ける」けれども,「だれでも美しい(あるいは,感動を与える)文章を書ける」わけではないのと同じだと思います.
プログラムは,単に「動けばよい」というものではありません.まず,必要な性能を満たしていなければなりません.プログラムの改良のしやすさや流用のしやすさ(保守性,再利用性)も重要な項目です.さらに,予期せぬエラーが発生した場合の対応も大事です.
よくセキュリティの分野で問題になる「バッファ・オーバ・フロー」は,バッファ・サイズ以上のデータを入力したときのふるまいを考慮していなかった場合に発生します.結果的に見ると,開発時にわずかばかりの配慮が欠けていたために,大きなトラブルに発展することが珍しくありません.文筆家が1語,1行に細心の注意を払うように,プログラマも1行1行に細心の注意を払うべきです.例えば,今書いたコードをテストするには,どのようなふるまいが必要か,また,そのコードを破壊する入力パラメータは何か?など,テスト・ケースを考慮するだけでも,プログラムの品質は違ってきます.
tag: 技術教育