混沌の廃墟にて -206-

フィンローダの情報処理技術者試験の法則

1993-07-08 (最終更新: 1996-04-18)

[↑一覧] [新着] [ホームページ]


 私は朝が弱い人である。

 これはむしろ夜に強いというのが真相である。プログラマーは作家という職業 と同様に夜型の人が多い。なぜなのか科学的な理由は解明されていないと思うが、 経験に基づいて言わせてもらうと、人の気配のない所で静かに冥想するような作 業がプログラミングに不可欠ということだろう。理屈では騒音の中でもプログラ ムを作ることはできるが、集中力を欠いたプログラムは細かいバグが網羅されて おり、後で修正するだけでも手に負えない。コストも掛かりすぎる。

 気配は精神集中を妨げる。他の人が寝静まった夜の方が、オフィスではもちろ ん人の気配がないし、アパートでもそうである。そういう意味では私は都会は嫌 いである。邪魔な音が多過ぎるのだ。

 プログラムを書ける時間に書けず、書けない時間に書くことを強要されるプロ グラマー、というのは悲惨なものだ。あなたがソフトウェア部門のリーダーであ り、まだ定時出社、定時退社という制度が残っているのなら、まずこのしきたり を潰すことを真剣に考えるべきである。スタッフが全員揃うのは打ち合わせの時 と、懇親の意味で一杯呑む時だけで十分である。(*1)

    *
 今年は珍しく春の情報処理技術者試験を受けてきた。受けたのは1種である。流 石にFPROGのSYSOPが2種を受けて落ちると言い訳ができない。棒高跳びで誰でも飛 べる高さのバーを落とすようなものである。世界記録に挑んで飛べなくても誰も 文句は言わないはずだ。しかし、1種がそれ程のものかどうかは知らないが。  それに、資格手当のある会社の社員ならともかく、現状では私がこの資格を持 っていても何の得にもならないのである。資格手当がない場合には、この資格が 役に立つのは、転職する時に履歴書に書けるということだと言われている。本来 このような無駄な勝負はしないのが兵法である。

 試験の申込は何度か経験している。申込んで受けないのだ。昨年の秋は確か願 書を出すのを忘れたような記憶があるが、このようなミスを除けば、たいてい願 書は出している。当日になって受ける気がしなかったり、起きると夕方だったり するのである。資格手当のような形で生活に影響があるのなら少しは気合いが入 るかもしれないが、何の役にも立たないことがわかっているので、最初から真剣 味に欠けている。それに、受けるのに必要なアイテムを揃えるのが面倒だ。

 私は鉛筆を使わない人である。

 高校生の時は既にシャープペンシルだったし、その後は万年筆。ブルーブラッ クではなく、少し明るいブルーのインクが好みだった。最近は水性の細書きサイ ンペン。いくつかのメーカーから、芯の太さ別に何種類か揃ったものが出ている。 0.2ミリのものを使っている。どこかにある筈の鉛筆がどうしても見つからない。 これをフィンローダの筆記用具の法則という。

最も使いたい時に限って手元に筆記用具がない。
 情報処理技術者試験では、マークシートの答案用紙を使うので鉛筆がよい。シ ャープペンシルでも原理上は問題なさそうだが、経験的に塗る作業は鉛筆の方が 楽である。従って普段使わない鉛筆なるものを入手しなければならない。最近は このようなアイテムは全部コンビニエンスストアに置いてあって、24時間いつで も買うことができる。なぜか携帯用の鉛筆削りは持っていたので、他には揃える ものはない。

 マークシートの問題というのは、霊感の強い人に有利である。目茶苦茶にマー クしても、偶然当ってしまえば合格できる。従って、絶対に塗り残してはいけな い。試験時間の最後の5分を使って、わからなかった欄をとりあえず全部1でマー クするとか、または気分に任せて適当にマークするとか、とにかく全部解答して おくのは常識だ。

 さらに姑息に考えると、プログラマーの皆さんには言うまでもないが、マーク したものは機械が読み取ってプログラムで採点するのである。どんなエラーやバ グがあるかわからない。採点ミスでも合格は合格である。最近、採点ミスで合格 判定が覆った大学があったはずである。社会的な責任もあるので、間違って不合 格にした受験生は改めて合格となったが、間違って合格にしてしまった受験生は そのまま合格の扱いとなった。後が大変かもしれないが、とりあえずラッキーな 人達である。

    *
 ところで、試験勉強はどうしたかというと、実は何もしなかったのだ。本当で ある。マジで、少なくともこの一年、たったの一日も、何もしなかった。普通、 前日位は一夜漬けといって、ざっと参考書とか過去の問題解説を見るものだと思 う。実際、当日になっても見ている人がいた。しかし、それもしなかった。昨年 あたりに問題集を買った記憶があるのだが、どこにあるのかわからないのである。 真剣味の欠如も、ここまで徹底すれば我ながら立派だと思う。

 では試験前日は何をしていたかというと、正確には当日の午前2時頃まで、レコ ンポーザ(*2)で曲を作って打ち込んでいたのだ。寝過ごしたら受けるのを止める、 程度の心構えである。朝早く起きないといけないから早く寝よう、なんて概念が まるでない。しかし実際は朝に目が覚めたため、とりあえず会場に行くことにし たのだ。

 会場に到着して驚いたのは、受験する人の大部分が男性だということである。 いや、1種の会場は、私の見た限りでは、全員が男性だった。これは一体どういう 現象なのだろうか。女性はプログラマーに向いていないというのだろうか。それ とも、情報処理は男性の職業なのだろうか。それより、試験前にこういうことを 考えていてよいのだろうか。

 さて、一応問題にざっと目を通してみるが、ある程度わかるような感じがした が、考えてみるとよくわからないような気がする、といったレベルである。ぱっ と見て「こりゃ駄目だ」と思ったらさっさと退場するつもりだったが、とりあえ ずざっと答えてみた。実際にプログラムを書いて飯を食っているわけで、しかも 某フォーラムでSYSOPである位だから、幸い業界の常識という程度の知識はある。 それで解答できるものは書いておく。簿記のように少し専門的な分野に入ってし まうと、さっぱりわからないとか、忘れていることが多くなるので、霊感に頼る ことにする。

    *
 午後の試験。最近、情報処理技術者試験のプログラムの問題で、C言語を選択で きるようになった。確かアセンブラが必須なのだが、最近特に思うのは、アセン ブラはそろそろ選択問題にしてよいのではないか、ということである。現場で使 う必要性がどんどん失われているからだ。また、実際に全く異なるアーキテクチ ャーのMPUを使う時に、仮想的なアセンブラの知識がどの程度役に立つかは疑問で ある。逆に、他のプログラミング言語でプログラムの流れをしっかり理解した上 で書けるというのが重要だと思うのである。むしろcshやawkのスクリプトなんて のが選択できるとUNIX派の人には面白いかもしれない。

 私がC言語を選択しなければ洒落にならないので、とりあえず問題を解きにかか ったのだ。プログラムは、空白区切りの文字列データを読み込み、整形して表示 するというものである。解答欄は、次のようになっている。【4】の所に記述する のだ。

  printf("【4】¥n", book[0], book[1], book[2], book[3], book[4]);
 目的の書式はこうである。
    書名    1〜26けたに左詰め
    著者名  27〜44けたに左詰め
    出版社名 45〜55けたに左詰め
    発行日   56〜63けた
    価格     64〜69けたに右詰め

 私はprintfを使わない人である。

 文字列の表示ならputsのようなもので十分だし、メモリが64KBの時代からCを使 っていたプログラマーの性格としては、printfのような大きなサイズの関数を実 行モジュールに使いたくはないのだ。確かにデバッグ時に数値を表示したいなら printfの%d程度は使えた方が便利だから、そういう時には遠慮なく使うが、その 程度のものである。

 だいいち今はWindowsとかGUIの時代である。目的のウィンドウに文字を表示す る時にprintfなんて関数は使わない。知っていても役に立たない。じゃあWindows だとどうするの、と言われても実はWindowsを使ったことがないので知らないのだ が。他のウィンドウシステムと似たりよったりだろうと勝手に想像していたりす る。

 もし仮にprintfを使わなければならない場面になったとしても、マニュアルで も見れば書式制御の方法は書いてある。従ってこんな知識は覚える必要はない。 アマチュア無線にカットアンドトライという言葉があるが、プログラミングでも これが有効なことがあって、とりあえず書いてみて、表示がおかしければ修正す る、この程度で現場の作業としても必要十分だ。むしろ動かしてみることの方が 肝心である。

 要するに、早い話が、全然わからない。しかし、おかげでフィンローダの情報 処理技術者試験の法則というのを発明した。

使ったことのない関数は必ず出題される。
 流石に「こりゃいかん」と思ったので、早々に切り上げて退出してきた。一応 解答欄は埋めておいたが、このショックのせいか、後で見直すとなんとポインタ の問題までうっかり間違ったようである。まさしく洒落になっていない。FPROGの ネタ位になるかと思って受験したのだが、流石にこれでは言い訳がきかない。強 いて言えば「こんな間違いはコンパイルしたらすぐ分かるのだから、現実的には 問題ない」と開き直る位だが、ともかく格好が付かないので、こりゃ黙っている に限る、のだが…。
    *
 ところが合格通知が来てしまったのだ。
    *
 これは素直には喜べない。むしろ二つの問題において、で非常に深刻な結果と 考えるべきだ。

 重要な方の問題は、自己採点では合格できないと考えたレベルで合格できてし まったという事実である。これが誰でも合格できる試験ならまだいい。試験の採 点が甘かったと考えれば済むことだからだ。しかし今回の1種の試験は、63,252名 が受験して、合格したのは6,725名だから、合格率は10.6%である。受験者の89.4% は私より点が悪かったということになる。まさか何も勉強しないで受験する人が そういるとは思えないから(いるけど)、結局一体この人達は何をどう勉強してど んな知識を身に付けているのだろうと疑問を感じざるを得ない。こんなことでよ いのだろうか。

 とりあえず、日本の情報処理産業の未来は想像以上に暗いと断言しよう。

 もう一つの問題は些細なことである。FPROGでは、「情報処理技術者試験に合格 するにはどんな勉強をすればいいですか」という質問が、たまにある。これに答 えられなくなってしまった。まさか何もしなくていいとは言えないし、ましてや 「前日に作曲してリラックスしましょう」と言うのも論外だ。FPROGでどんどん発 言するというのはどうでしょう、とでも答えてみようか。(*3)


補足

(*1) 電子会議を使えば、一杯呑む時だけで済むかもしれない。chatの様子を見ていると、一杯呑む時すら会わずに済むような気もする。

(*2) 音楽データを作成してMIDI音源をコントロールする類のソフト。

(*3) 何もしていないといっても、もちろん、それまでの下積みがあるのである。FPROGの対話に付いていくだけでも勉強が必要である。霊感が強いというわけではない。


    COMPUTING AT CHAOS RUINS -206-
    1993-07-08, NIFTY-Serve FPROG mes(6)-312
    FPROG SYSOP / SDI00344   フィンローダ
    (C) Phinloda 1993, 1996