スクリプト言語でちゃちゃっとプログラム作れないと、仕事にしろ研究にしろ自由度が低くなる
要するにその場しのぎのクイックハックも重要だ、というだけの話です。
プログラマなら大なり小なりやっていることだと思うので、異論を唱える人はそうはいないと思います。それに関連してるような、ないような・・・純粋なプログラミングの失敗ではないのだけど、記事を読んでいて苦い経験を思い出したのでその件について。
とあるwebアプリケーション開発での話。
ある日、上司から「××という機能を作ってくれ。お客さんに、こういうことも出来ますよ、って感じに見せるデモ用だから適当で。どうせ後で捨てるし、急ぎなんでJSP一枚でゴリゴリ作っちゃって」
・・・といった指令だったので、スクリプトレット大量に埋め込んだJSPを作りました。DBアクセスのコードもあるんだけど、まぁ、愛嬌でしょう。
そして、そんな指令が下ったことも忘れた頃、ユーザさんからバグの調査依頼が。
ところでこのユーザさん、ある程度Javaを知っていて、我々が納入したwebアプリを自分たちで拡張しちゃってます。拡張といっても、さすがにStrutsは厳しいようで、猛烈な量のコードを書いたJSP一枚を追加する、って感じでしたが。
それ自体は別にいいんですが、稀にユーザさんで作ったJSPにバグがあるのにこっちにバグ調査依頼が来るのが厄介でした。まぁ、ユーザさん側かこっち側か、どっちのコードに原因があるか判断つかないだろうから仕方ないんだけど。
そんなわけで俺の元にスクリプトレットがどどーんと書いてあるJSPがやってきました。しかし、このコードはどうも見覚えがある。原型は微妙に変わっているが「デモ用に適当に作ってくれ」といわれて俺が作ったヤツに間違いない。
どういうこっちゃ、と上司に報告すると「サンプルとしてユーザさんにあのJSP渡してるから、そのまま使っちゃってるんだろうね」ってそんなんありかいな。うーん・・・契約上は問題ないんだけど、道義的にそういうことやっていいものなんだろうか。上司も、そりゃねーわな・・・と呆れ顔でした。
適当に作ったはずのものが亡霊化して帰ってきたんで中々苦労させられました。その場しのぎのクイックハックとは文脈がまったく異なるんで、そういうテクニックを否定する話ではないです。ただ、捨てられるはずだったものが戻ってくるとヒドイ目にあうなぁ、というお話。
教訓としては、ユーザさんが触れる可能性のあるものは手抜きすんな、ってとこかなぁ。でもそれだと指示とは反することになるし・・・
仕事でプログラミングするってのは趣味とは違うなぁ、とよくわからない感想を抱いたのでした。