2003[...] | 2004[1/1-|1/11-|1/21- | ...]
cursesを使ってプログラミングをしていて、termcap/terminfoはおろかTERM環境変数を知らないってのはかなり偏った知識体系だと思うんだけど、どうなんだろう? しかも、お仕事にしている人のようですよ? 大丈夫なのかなぁ…。他人事ながら心配になってくるよ(苦笑)。
ところで、「プログラム内に変更(設定)不能なように直接記述されていること」をhard coatって言うんでしたっけ? 私ずっとhard code(ing)なんじゃないかとずっと思ってましたよ。もちろん、ガラスやプラスチックの表面に耐磨耗加工するほうはhard coatでいいと思うんだけど。あと、アルマイト加工とかもhard coatのうちかな?
soft code(ing)という言葉がまったく使用されていないにもかかわらず、なぜわざわざ"hard"というのかとか、改めて考えるといろいろ疑問に思えてくる言葉ではありますが。
2004年1月13日 追記: んが。今度はこっちにスペルミスが(汗笑)。codeをcordと間違えていたので直しました。電線かよ!(笑) いや、別に電気を通さなくてもただの紐でもいいんだけどさ(よくない)。
なんか、話の中心がバッファオーバフローの話になって久しいですが、元は「関数の戻り値を見るプログラムを書こう」という話でした。とはいえ、速攻で「いや、『見るべき関数の戻り値を見る』のだ」という突っ込みが入ってるし(笑)。
その点で、strncpyを例としたのはちょっと外していたことになりますな。バッファオーバフローの例(?)としては正解だったのかも?
そういう面では、例外をきちんとハンドリングしなくてはいけないJavaみたいな仕組みは必然であったということなのでしょうか? 加えて、見るべきであるとプログラマが考えた例外は見ないといけないし、見なくてもいいと考えたものは無視できるという点も?
まぁ、そんな風に言語仕様を設計しても空のcatchブロックを書いたりする人が後を絶たなかったりして、現実は予想を越えているわけですが。
9期委員会解散と10期委員会発足のお知らせです。
メンバが変わってないってのはきっとやばい兆候なんでしょうなぁ…。