Booklog - プログラミングの心理学 25 周年記念版

Gerald. M. Weinberg, 伊豆原弓

スーパーエンジニアへの道は 1986 年、本書は 1971 年に書かれてる。 著者のシリーズの源流が本書らしい。各章に著者の振り返りがあって答え合わせしてくれてるのもあり、読みやすい。 当時としてはプログラミング(というかシステム開発)を人間の活動から理解しようとしたのは画期的だったらしい。

2025-08-16, read count: 1, page: i ~ xv, pages read: 15

第Ⅰ部 人間の行動としてのプログラミング。 プログラミングと機械の関わりばかりが注目されてきたが、本書はプログラミングを人間的な観点から捉える。 初版から 25 年経った振り返り時点でも当時より膨大な金がプログラマーに投じられるようになっていた。現代もその高騰は続いている認識。 更にいえば AI が登場しても(一部の代替可能な層を除き)プログラマー不要論が現実にならないのは、プログラマーが単にコードを書くのが仕事でなく人間的な側面がその本質だったからって感じかな(今後は知らんが)。

2025-08-17, read count: 1, page: 1 ~ 3, pages read: 3

第 1 章 プログラムを読む。 プログラミングを学ぶ術は、書くことと読むこと。読むときには諸々の事情がコメントに残されていることは少なく、何故そうなったか知るのは難しい。 そうしたコードには、コンピュータ・プログラミング言語・プログラマの知識の制約、事故の応急処置、仕様に基づく必要・不要な記述が混ざっている。 その背後には人の心理的要因があり、理解するのに人間の行動を研究する価値がある。 サンプルコードが PL/I で時代やな~と感じる。にも関わらず現代も状況はさほど変わらない。 コードを読め、コメントには意図を残せとか諸々の手法が発展してきても状況に大差ないのは、原因が人間の心理的要因にあるからということか。

2025-08-18, read count: 1, page: 4 ~ 16, pages read: 13

第 2 章 良いプログラムとは何か。 プログラムを評価するのは難しい。 判断の絶対的な指標はなく、相対的な指標でも、仕様を満たす(動く)か・計画に間に合ったか・プラットフォーム移行の容易さ・実行効率といった複数の基準があり単純に評価できない。 良いプログラムとは何かという問題自体が適切でないと言える。 振り返りでは経済的指標も増えてなおさら難しくなってる。 ここで言う「良い」は後の著者の本でいう品質みたい。 なんかまだ「スーパーエンジニアへの道」ほど面白い感じはしないな。

2025-08-19, read count: 1, page: 17 ~ 32, pages read: 16

第 3 章 プログラミングをどのように研究するか。 プログラミングの人間的な活動を研究する術として、行動科学の手法を流用する話。 その際に行動科学の研究でも陥る内省・観察・実験・計測・利用するデータなどの誤りについて触れ、さらにプログラミング固有の難しさについても言及している。 個人でなく集団を研究すべきだというのはせやなと思ったが、まだ全体的に面白みはないかな。 1970 年代にこの内容が書かれたという点で、その何らかの派生物の影響を自分も受けてるだろうから驚きがないのかもな。

2025-08-20, read count: 1, page: 33 ~ 52, pages read: 20