なやましい

Cで書いていて、ポインタ使って副作用で値を変更するのに抵抗を感じてしまうHaskell脳が邪魔です。

値返した方がいいのに、多値を返さないといけない。構造体使えばいいじゃんていわれるかもしれないけど、作れない。ポインタと副作用でもいいんだけど、値返して代入している部分もポインタにしたほうがいいだけど、なんか副作用嫌。このループにはまることがまちまちあります。

まぁ、C言語なんだからCの作法にのっとって書けばいいんですが、どうしても頭のなかで(自分としては)きれいに書きたいというのが邪魔をしてくれます。結局は機械語になれば一緒なのだから、副作用とか気にしなくてもいいだろうに、そこは無駄なポリシーが邪魔をしてくれます。

あと、関数をインライン化するかどうか迷ったときに、展開後のプログラムサイズの肥大化と関数の呼び出しコストぐらいしか頭になかったけど、命令キャッシュとかもあるんだなぁと勉強になった。