BASICって御存知ですか?1990年代ですとVBとかに代表されるアレですね。ところで最近の主流はなんでしょう。JAVAですかね?オブジェクト指向がすばらしいアレですね。今も昔も技術者は技術者。扱う言語は変わってもやる事は変わりません。不具合0件目指して完璧で綺麗でエレガントなソースコードを書きたい。世の中の技術者は皆そう思っていますよね。(あれ?私だけ?)
さてさて、ここに恋愛についてVBでプログラミングされた1つのソースコードがあります。
とてもシンプルで見やすいものです。引数はたったの2つで、ブーリアン型の値を返却するファンクション関数です。想定される動作はこうです。I(私)とYOU(あなた)に愛があればLOVE(ゲッツ!!) と言う動きです。まぁ見ればわかりますよね。簡単です。
技術者として新人だとしても、少しくらい経験のある方なら変数の名前や数行の処理を見るだけで、大体どのような事をしているのか想像がつくものです。
しかし、初心者を卒業して、更に技術者として経験を積んだ中級クラスの方ですと少し様子が変わるようです。だんだんと確実性を持たせたくなるのでしょう。「こんな処理じゃ駄目だ!Else処理が1つも入ってない。」って事を言い出すわけです。はい。確かに入っていません。もしかしたら残念ながらFalseが引数として入っている場合も考えられますからね。Else処理はぜひ必要でしょう。
そして、そして、更に技術者として経験を積んだ上級クラスの方ですとどうなるでしょう。やっぱり言うでしょうね。「こんな処理じゃ駄目だ!エラー処理が全く無いじゃないか!」って感じでしょうか。はい。確かに入っていません。TrueかFalseを期待しているのにもかかわらず、もしかしたら全然違うString型が引数から来ているかもしれませんからね。はい。TrueかFalseの2つだけでは表現できない状態だってあるかもしれないのです。
そして、そして、そして、更に技術者として経験を積んだ仙人クラスの方ですと一体どうなっちゃうのでしょうね。「そもそも引数の型はキッチリ決めておけ。TrueかFalseかどちらかしか受け付けないように作れ。大体これを呼び出す側ではちゃんとLOOP処理しているのか?Trueになるまで次の処理に進まないようにしないとダメじゃないか。」って感じでしょうか。そうですよね。おっしゃる通りです。たった1回の処理で全てうまく行けばいいのですが、Trueになるまで繰り返した方が良い場合だって出てきますよね。それに引数だってYESかNOかハッキリしてもらいたいですよね。
人というのは経験を積めば積むほど慎重になるのでしょうか。そして経験を積んで行き着くところはどこなのでしょうか。ほとんど経験のない新人がドキドキしながら期待通りに動作してくれるか実行ボタンを押した時、もしうまく行けばそれはそれは嬉しい事でしょう。逆に数々の経験を積んだ上級者が実行ボタンを押す時と言うのはどんな気持ちなのでしょう。もう「気持ちをこめる」と言う行為すら忘れてしまっている人もいるかもしれませんね。
あなたは新人クラスですか?それとも仙人クラス?
え、私ですか?私は実行ボタン押す時はいつもドキドキします。うん。します。します。