2017年8月21日月曜日

今こそ、プログラマの時代


・ブログ( ドッと混む・Knuhsの書斎 )から転載


── プログラミングの勧め

▼小学生へのプログラミング教育
 小学生への「プログラミング教育」必修化が検討されているという。
 私が育ったアナログ世代とは異なり、デジタルネイティブ世代を相手にする教育だから、教え方にもそれなりの創意・工夫が必要になるのではないかと思う。どのような教え方をするのか興味のあるところだが、そう簡単にベストの方法が確立されるとは思えない。失敗を繰り返しながら少しずつ良い教育方法が築かれていくことになるのだろう。

 どの世代が相手であろうと「プログラム作りに必須の技能」としてプログラマなら身に付けなければならないものがある。そういうものは適当な時期を選んでしっかりと教え込んで欲しいものだ。

▼分かりやすい文章
 たとえば「分かりやすい文章」を書く能力が求められる。プログラム作りに限らず最も基本的で必須の能力であるが、小学生が直ぐ身に付けられる類いのものとは思えない。

 どんな言語でも構わないが、日本語、英語、あるいはコンピュータ言語、何でも良いから「自分の考えを抜かりなく、誤解の余地なくしっかりと相手に伝える」ことができるようになってほしい。それができなければ、相手がであろうとコンピュータであろうと思い通りに動かすことなどできる筈がない。

▼誤解を与える
 政治家はよく「誤解を与えた」という表現を使って弁解しようとするが、これは「相手が間違って解釈したのだ」と主張し責任の大半を相手側に押し付けようとするものである。

 しかしそんな身勝手な言い分けはプログラミングの世界では通用しない。プログラムの記述で「誤解を与えた」としたら、それは自分の表現方法が間違っていた、あるいは自分の説明が足りなかったということを意味している。全責任は自分の側にあると知るべきであろう。

▼定年という壁
 ところで、私が定年を迎えて技術者としての職を辞さねばならなくなったとき、自分ではまだまだ技術者として生きていけるのに、と悔しい思いをしたことを覚えている。しかし今の社会はそういう制度になっているのだから仕方がない。更に続けたければ自分で会社を興すしかないのだろう。そういう才覚のない私めは、定年がなく長く続けられる仕事として芸術家の道を選べばよかったと思ったものだ。あるいは小説家になるという手もあった。たとえ売れない作家であっても、定年がなければ自分の気の済むまで仕事を続けられる。

 私はこれまでの経験から「プログラミングというのは文章を書くのと同じことだ」と思うようになっていた。「自分の考えを抜かりなく、誤解の余地なくしっかりと相手に伝える」ことができればよいのだと。それなら私にも続けられる。小説家になろう。いや、小説家にならなくても、プログラミングの道があるじゃないか。

▼昔プログラマ
 これ以後、私は大学教師としての職についたのだが、同時に「昔プログラマ」を自称するようになった。昔はプログラマだったが、今はもうプログラマではありませんよ、という意を込めた積りだった。しかし本当のところは「プログラマ」という肩書に執着していたのかもしれない。

(図:名刺)

 大学教師というのは実は世を忍ぶ仮りの姿であって、本当のところはこっそりとプログラマの積りになって、プログラム作りを続けてきたのである。教師としての自分の身辺で発生するいろいろな問題の解決にコンピュータを利用してきた。しかし誤解の無いように記しておくが、自分の身辺に係わる問題だけが対象であって、他人のための仕事をしてきた訳ではない。

 教材として使うテキストの作成、課題提出システムの構築、その他自分の趣味に関係するゲームプログラム(!)の作成も含まれている。金儲けが目的ではないから、自分に関心のあることだけを、誰の許可を得るまでもなく自分だけの判断でできるのだ。これほど自由な仕事はない!
 その間、いろいろなプログラム言語を勉強し活用してきた。C/C++, Perl, Javascript, VBA, ...

▼ソフトウェア危機
 昔「ソフトウェア危機」という言葉が叫ばれるようになった時代があった。コンピュータが強力になり、大きなソフトウェアの開発が必要になってきたのである。この調子で進むと沢山のプログラマを養成しなければならない。いや、日本の全国民をプログラマにしてもまだ人数が足りなくなると予想される事態になったのである。全国民であるから当然、赤ん坊も人数に含まれていた。

 赤ん坊プログラマをどうやって教育しようと考えていたのか、そこのところは明らかでないが、この問題提起のお蔭で「ソフトウェア工学」という分野が切り開かれ、当面の危機を免れることができたのである。

 このときは赤ん坊プログラマが話題になったが、流石に高齢者をプログラマにするという発想は出てこなかったと記憶している。何となれば、当時コンピュータの世界では「38歳定年説」というのがあって、ソフトウェア技術者が40歳以上でも務まると思っている人はいなかったからであろう。

▼高齢者プログラマ
 しかし今や、高齢者の雇用促進が求められている時代である。定年後も年金受給が可能になるまでの期間、どのように生活していったらよいかも問われている。たとえ雇用されなくても、有意義に過ごすテーマが必要ではないかと思う。

 私は、高齢者もプログラマを目指したらよいのではないかと提案したい
 定年後もプログラミングをしたいというような酔狂な人は少ないかもしれないがゼロではなかろう。昔、ソフトウェア技術者だった高齢者にもプログラマとして復活する道があっていいのではないか。

 高齢になっても小説を書き続けている作家は沢山いる。評判になるのはほんの一部の作家だけで、その陰には売れない作家も沢山いるに違いない。
 昔のプログラマにもプログラミングの道があるじゃないか。小説家に劣らず、プログラマになれる人材は沢山いるに違いない。売れない小説家がいるのなら、売れないプログラマがいてもいいじゃないか!
 しかも、プログラミングはボケ防止に最適なんですよ。

▼高齢者プログラマの心構え
 高齢者プログラマを目指すなら、次のような注意が必要である。

(1)金儲けは考えない
 高齢者は電話詐欺の餌食になりやすい。自分が作ったプログラムが他人に評価されるのはうれしいことではあるが、他人からの「いいプログラムですね。売れますよ!」とか「買ってくれる人を紹介しますよ」などという甘言に乗ってはならない。したがって金儲けをしたいという考えがあったら止めておくことです。

【注】私は公開するプログラムはすべて無料で使ってもらうことを前提としています。すべてのプログラムには「Copyleft」のマークを付けることにしています。

(2)短編小説をねらう
 企業でソフトウェア開発の経験があったからと言って同じような大型物件の開発に挑戦したりはしない方がよい。あれは大河ドラマのような大長編小説であって、一人で作るのなら短編小説、あるいはショートショート程度にしておくことである。

(3)手頃なプログラム言語を用いる
 使用するプログラム言語は、若い時代に使用した言語が馴染み易くていいかもしれない。しかしできるだけ無料で手に入るものに限定すべきである。

【注】私は60歳代になってからPerlを勉強しました。文法規則を守り厳密に記述しないと受け付けないモードと、いい加減に書いて「良きに計らへ」とシステムに任せられる怠け者向きのモードがあって、私のような怠惰な男には最高の言語なんです。お奨めしますよ。

▼作品の公開
 私の作品は、以下の場所に公開されています。参考にしてください。

 「Perl Program集

「昔プログラマ」改め「昔も今もプログラマ