コンピュータリテラシーはいかにして身につけるのか

私の友達のI君は、ときどき私の仕事を手伝ってくれるのだけど、彼はプログラマでもなんでもなくて、コンピュータのことをそんなに詳しいわけでもない。


今日はI君が「この上の3行をコピペすると良いのです」とメールしてきたのでそこを見たら3行ではなく1行だった。なんでこれが3行?と思ったが、200文字ほどあるのでテキストエディタによっては折り返されて、その折り返された行を含めて3行なのだろう。


普通、プログラマは行数を言うときは改行の数を数える。そうでなければ何行目と言っても折り返しによって行数が異なるので、そんな数え方をした行数では意味をなさないからだ。そもそも「100行目」と言ったとき、その行が一意に定まらない行数の数え方なんて、何の使い道があるのかと思うのだが、折り返しを半角80文字(全角40文字)に設定すれば、原稿用紙何枚分に相当するのかを試算するときに便利なのかも知れない。


それはそうと、秀丸では行数の数え方として「エディタ的」と「ワープロ的」と選べるようになっている。



初期状態では「ワープロ的」だ。これは非常に困ったことだ。「ワープロ的」に数えられると「何行目を修正してください」と相手に伝えようにも折り返しによって行数が変わるので正確に伝達することが出来ない。こんな設定を標準にする秀丸の作者はどうかしてるんじゃないかと思うんだが。


まあそれはそれとしてI君の話に戻そう。I君は、秀丸を使っているからには、メモ帳とワードパッドとの違いぐらいは理解しているのだと思うのだが、秀丸の折り返し設定などのレイアウト情報がテキストファイルに含まれるかどうかは理解してないのかも知れない。


もしそうなら、これは「ワープロ的に数えた行数だと相手に伝えるときにまずい」とI君が気づかないのが悪いという話でもなくなってくる。テキストファイルはバイナリエディタで見たとき、文字がそのまま格納されていて、改行コードは(Windows環境では)"\r\n"(CR+LF)という2文字で構成されていて…ということを知っているかという話になるのだが…ちょっと待てよ。そういう事項っていつ学ぶのだろう?


プログラムを勉強したなら、自分でテキストファイルに書き出したりしているうちに気づくかも知れないが、プログラマでない人はいつ学ぶのだろう?こういうのを学ぶ機会って現実的にはあまり無かったりするのじゃなかろうか。


大学の情報系の授業ではコンピュータアーキテクチャを説明するのにまずAND回路とかOR回路とかから説明するじゃん。そしてCのソースは機械語に変換されて実行されるだとか説明するじゃん。あれと同じように、それぞれのファイルの実体をバイナリエディタで見て「XXX形式のファイルのフォーマットはどうなっているのか?」って言うのを基礎教育の段階で教育したほうがいいような気がするのだが。せめて、.txt と .bmpと .zipぐらいは。