5月31日 「C言語をもう一回勉強しなおしてみないか?」と日経ソフトウエア創刊5周年号(2003年7月号)をこうしろうに手渡す。「うん」とやけに素直な返事。実は筆者,この号から『C言語で始めるプログラミングの基礎』という連載を始めた。本当に,これまでプログラムなどやったことがないという人やC言語は経験がないという方を対象にしている。

 「書いてある通りにやってみて,わかりにくいことがあったら聞いて。」PCの前に腰掛け,まず付属のCD-ROMからBorLand C/C++コンパイラをインストールするこうしろう。1.5mほど離れた場所で本を読みながら様子をみていると,誌面に従い実際に操作しながら,ゆっくりとページを進めている。知的なのかオタクなのかわからない時間が流れる。

 30分ほどして「やってみた」と傍にきた。わかりにくいところなかったかと尋ねると「コマンドラインの操作とか,Pathがわかりにくかった。DOSやったことがないから」とこうしろうは答える。BorLand C/C++コンパイラはコマンドライン・コンパイラなのでDOSの知識が要る。

 Disk BasicやDOSの時代からPCを使っている父にとって基礎中のキソに思えることなのだが,cd(change directory:ディレクトリの変更),md(make directory:ディレクトリの作成)やrd(remove directory:ディレクトリの削除)などのコマンドでディレクトリを操作したり,インストールしたプログラムをどこからでも実行できるようにするためにPath(パス)を設定することに,「なぜ?」と引っ掛かるようである。今では,そんな面倒なことはWindowsが勝手にやってくれるし,フォルダならピンとくるがディレクトリはもう一般的な用語ではないのかもしれない。

 「Linuxとかコマンドベースで操作する時には役立つよ,補足しようか?」とサービス精神を発揮するが,「大丈夫」と答えられ,肩透かしを食う。「プログラムの方はどうだ?」と続けて尋ねる。

 いかにも意外な質問という風にキョトンとしている。「あっ,そうか。あのプログラムなら,間違いようがないよな。」と連載第1回のサンプルプログラムは,Let's start C programming.と表示するだけのものだったことを思い出した。
---------------------------------------------
#include <stdio.h>
int main()
{
 printf("Let's start C programming.");
 return 0;
}

---------------------------------------------
 基本情報処理技術者試験でC言語を選択したこうしろうが,あれから一年たったとはいえ,このプログラムに疑問をいだくことはなかろう。ただ,あの時は付け焼刃で,いかにも受験対策的な勉強の仕方だったので,この機会にC言語をもう一度,じっくりと学んで欲しいと思う。

 少しプログラムの説明をするとprintfは( )の中に書かれた内容を画面に出力するC言語に元々用意されている関数で,この関数を使うときは#includeプリプロセッサ命令でヘッダーファイルstdio.hを取り込まなくてはいけない。文字列をprintf関数の引数に指定するときは,ダブルクォートで囲まなくてはいけない。プログラムにはmain関数(main { 文… })が一つ必要で,プログラムはmain関数から実行される。

 私は一所懸命に自分の連載を読む息子に,何か教えたくてたまらなかったのである。それと同時に,PCと日経ソフトウエア誌に真摯に向かうこうしろうの背中を眺めながら,「こうやって自分の連載記事で勉強してくれている読者が,どこかにいてくれるのかな。」とこの連載は頑張ろうと思った。(いえ,決して今までの連載が手抜きだったとかいうわけではないのですが…)

 とにかく,私にとって少し幸せな時間であった。