何らかの形でC言語を使った業務にかかわると、自分の知っているC言語と違う、と感じることが多々あります。なんでこんな風にしているの?とか疑問を持ちつつも、周りの人に聞いても要領の得ない回答しか得られず、結局、しんどい思いをしながらソースコードを読み解いていく、というのが世の中の常かもしれません。
そんな中、再びCでまとまったコードを書く必要に迫られたので手に取ったのが次の本でした。
#モダンC言語プログラミング
#面白かった点
CI/CDなど最近の開発環境に併せたツールも視野に入れている。
オブジェクト指向をC言語で実現するには?といった他言語を学んだ上で再入門するにはとても入りやすい。
デザインパターンをC言語で書き下すといったことをやってくれている。
#閑話休題
当方、開発遍歴(言語)遍歴としては
C=>C++=>Java/Kotlin=>Perl/Python/Ruby=>C(イマココ)
という流れでした。新卒で入った会社では、大学時代にC言語使ってましたー。って言ったものの、動画の編集ライブラリのインプリメンテーションを依頼されたものの、
渡されたサンプルコードのあまりのスパゲッティっぷり
Breakを張って動作をさせてみないと実際にどこが動いているのか追えないコードの可読性の低さ
Buildの方法が口伝継承
Buildに半日かかる。差分ビルドも癖がある。
と、開発環境の酷さに閉口してました。
関数ポインタであるとか、可読性を下げるだけの代物をなんでこんなに多用するんだーとか思っていたものが、当時、意識していたかはわかりませんが、デザインパターンの文脈で語られているものだったりすると、しっくり来たりします。