社内で「もっとオブジェクト指向を広めれ!」って上からのお達し。
望むところではありますが、なかなかどーして。
手始めに定義/設計あたりにUMLを使ってフォーマルな記述を、なんてことを考えたり
するわけだけども、浸透しづらい土壌があります。
ひとつには実装言語としてまだまだCが大手振ってまかり通っているのね。
理由は簡単、C++だとヒトが集められない。書ける奴が少ないですよ。
Cはダメだというつもりはないけども、Cに固執してばっかだと
いっくらエレガントな設計ができたところで、そいつを実装するとなると
設計と実装のギャップ、つまり「アイデア通りに実装できない」ってことになる。
抽象データ型まではなんとかなるけど継承/多態をCで実現するのはしんどいし、
やったところでまるで呪文になっちまいます。
様々なデザインパターンのうち、Cで無理なく実装できるものを見繕っていかにゃ
ならんかな、と思ってます。 当然のことながら関数ポインタを駆使することになり
そうですが、関数ポインタってやつは多用するとウケが悪いんだよなー。
デバッグがややこしくなりますもん。呼び出し先が動的に変化するから。
「言語が思考を規定する」ってーのを思い知らされますです。