2021/01/23
Considered Harmful

久しぶりに肩が凝って、頭が痛いのが続いている。

なんか最近しゃべってるのが仕事みたいな時間が長かったのと、ペアプログラミングはともかく、ペアドキュメンティングみたいなのは疲れやすいなのかもしれない。プログラミングはなんだかんだで特定のファイルに飛んだり戻ったりがサポートされてるし慣れてるけど、テキストファイルとかだとそれが難しかったり、むしろ構造を作るのが本題だったりして、まがりなりにもコンパイラや実行時の挙動によって成立させられている構造を、より大きく、より複雑に、より良いものに変えていくプログラミングより疲れるのは当たり前かもしれない。文字通りあるいは実質的にgoto文だらけのコードだと、似たような疲れ方になるかもしれない。

ここ数年、「なんかちょっと複雑になりすぎちゃってますね」みたいなことをよく言っていて、もちろんそこを書き換えた結果を見てもらうと分かってもらえるんだけど、出発点として複雑ということを共有するのが難しい。「プログラミングというのは問題を理解する過程そのもの」みたいな話があるけど、あれをやって、これをやって、それもやって、アドホックな足し算を積み重ねて面倒なコードになるまではいいとして、コードを書いた人間の理解がそのコードと一致してしまう、つまり、書き終わると同時に理解の過程が終了してしまうことがあるように見える。成立した理解を変えるのは難しい。「完全に理解した」が覆されるのは、コードの場合はバグが出てからということになる。

問題が出てから考えればいいじゃないか、と言えなくもない。でも、そういう問題と戦っていきたいのかな。そして何より、人間が扱える複雑さには限界がある。目の前の複雑さを減らしていかないと、より複雑なものを扱えるところまでいけないんじゃないかな、って。じぇーくえりに親を殺された人が叫んでいるのと同じ話だとは思う。でも、だからこれはダメ、だからこうしないと、という話は些末な小言として、せいぜい遠吠えになるだけで、届くが伝わらない。エンジニアリングというよりは「より良いマニュファクチュア」を目指そうとするアジテーションになってしまう。とはいえ大きな課題に地道にぶつかり続けると、人間は擦り減っていく。人間には叫びが必要である。

サービスやプロダクトを生み出すやつが偉い、みたいなのはそれはそうかもしれない。まあでも、いろんな志向と思考が合わさったほうが人類は強くなれそうだし、いいじゃないですか。ただ、分断されちゃってそうね。エンジニアではなくプログラマと名乗る人々の一部には、そういう分断を無効化しようとする意図を感じる。

日付
タイトル

2026/03/14
読んだ本〜2026冬
2026/03/05
聴いてるポッドキャスト
2026/01/30
レンダリング?
2026/01/27
Live
2026/01/26
レンダリング!
2026/01/13
2025年まとめ
2025/09/23
読んだ本〜2025夏
2024/07/24
健康er
2024/02/10
健康
2023/05/19
喪/2
2023/04/24
コンサル
2023/02/01
それはそう
2022/12/17
2022/06/11
動かないもの
2022/06/05
スタイル
2022/04/23
JSX as data
2022/04/08
数学
2021/12/18
Activeな話
2021/09/05
Goのmultiple ABI
2021/07/31
『Goならわかるシステムプログラミング』
2021/07/28
ここにはタイトルが入ります
2021/01/25
これは日記ではない
2021/01/24
修行
2021/01/23
Considered Harmful
2021/01/22
雑感オブSwing
2021/01/21
雑感オブAndroid
2021/01/20
雑感オブiOS
2021/01/19
プログラミング言語その9【Groovy】
2021/01/18
1回休み
2021/01/17
会社を作る
2021/01/16
外国語
2021/01/15
プログラミング言語その8【C】
2021/01/14
プログラミング言語その7【OCaml】
2021/01/13
to be continued
2021/01/12
プログラミング言語その6【Kotlin】
2021/01/11
プログラミング言語その5【Swift】
2021/01/10
プログラミング言語その4【TypeScript】
2021/01/09
プログラミング言語その3【JavaScript】
2021/01/08
Comme d'habitude
2021/01/07
プログラミング言語その2【Java】
2021/01/06
プログラミング以前【Lisp】
2021/01/05
プログラミング言語その1【Objective-C】
2021/01/04
言語処理系入門
2021/01/03
ブログのようなもの
2021/01/02
Next.jsとPHPと私
2021/01/01
新年