『モダンC言語プログラミング』

現代的な開発方法をC言語による開発(特に組み込み向け)でも行おうという話.旧態然としているCの開発に先進的な手法を取り入れようという試みは良いので,悪い本ではない.

トピックとしては以下について収録されている:

開発環境については,Eclipseでもvimでもemacsでも好きなの使えよって思う.EclipseC/C++プラグインはまだ十分に安定しているとはいえないと書いてあって,そんなの勧めるなよと思わないでもない.C向けの良い統合開発環境はないものだろうか?

この辺は良いと思います.ただ,Cだとテストコードを書くのも面倒くさい.こういうことしたいなら無理してCを使わなくても良いと思うのだ;組み込みJavaとかあるんだから.しかし,前提条件としてCを使うというのがあったとしても,先進的な開発手法は取り入れていくべきだ.

以上の内容は他にもっとよい情報があるので,わざわざ本書に当たる必要はない.

については,参考になった.

しかし,好みの問題かもしれないが,Cでデザインパターンはやっちゃダメだろう.

遊びで作る場合は凝ったことしてもいいけど,仕事で凝ったことするのは禁忌だ.ただ,読みにくくて,長くて,遅くて,開発に時間がかかって,バグが入り込みやすいコードになるだけだ.普通に書いた方がいい.

書いた人と違う人が拡張しやすいためにオブジェクト指向で書くのだろう?他の人は絶対にオブジェクト指向を無視して,普通の書き方で拡張するに決まっている.プログラミング言語は思考を固定化するためのツールなのだから,その言語で発想する率直な感覚に合わない書き方をしてはいけない.最初に書いた人も,拡張する人も,保守する人もこういう凝った書き方を好むなんて状態にはならない.

書いた本人が拡張するなら,率直な書き方でも問題なく拡張できる.わざわざ冗長にする必要がない.

Device MapperやVFSみたいなフレームワークを作るなら,オブジェクト指向はありだと思う.