書いたものと書いた人
電王戦について何か言いたいなと思うことと何か発話するのは別なんだと思います。
ずっと何か言いたいな、と思っていたのですが、それが整理できないのだから何もいうまいと思っていました。
でもそれって悲しいなあって思ったので、断章形式でもいいので書けることだけでも書こうかと思っています。
yanesdk を C++/D言語/.NET のコードリーディングしてきました。
そのすべてで去人たちという実践を繰り返してきました。
わたしがはじめて yanesdk と出会ったのは10年以上も前でわたしはよちよち歩きのプログラマでした。
でもわたしは今でも yanesdk が好きですし、やねうらおのファンなのは間違いありません。
わたしはやねうらおと直に話したこともないし、話したこともない。
わたしの中のやねうらおとは、極端な話ソースコードの人格化(+愉快な日記が加味された)ともいえるような倒錯の結果の妄想だと確信しているぐらいだ。
わたしのレベルが低すぎるのかもしれないけど、わたしの周囲には根拠のないソースコードがばかりが転がっていた。いや、根拠はあるのだろうけど、それは「とりあえず……」というだけの根拠だ。そこには気づきや注意を向けさせてくれるだけの深みはなかった。
わたしの意識が偏っているのは間違いないとしても、わたしはそのソースコードに依って偏っているのです。
ソースコードは実証可能で推測や憶測とは関係ありません。あるコンテキストにおいてそのプログラムの挙動は確定しています。
人間はソースコードの意図を100%くみ取ることは不可能だから妄想に違いないだろう。本来、わたしがこのコンテキストで主張できるのはプログラマがコンパイルされたバイナリコード上で平等だということだけだ。
わたしがいいたいのは、本当のことはメモリやレジスタ、CPUだけが知っていればいいな、というコードリーダーとしての希望である。
わたしたちが日常会話や書面のやりとりの中で、説明したり、聞いたり、解釈したりするのは、非均一な独自実装のコンパイラによってなされているのと大差ない。句読点だけでもニュアンスは変わるし、変更前とは一致しない。この不一致をまったく違うかどうかもまた、人それぞれではないか。厳密には、それを評価する人が基盤にしているシステムによる。
yanesdk という限定された世界観の中での印象なので、間違っているかも知れない。
だけどその構造には好奇心に満ちあふれていたように思うし、一方で退屈な非構造的なものは退屈だと物語っているように思える。退屈な部分なんてどうもいい、とはいわないが、退屈なところはいつまでたっても退屈だ。わたしもこの退屈な部分が見極められるようになって、プログラミングが面白くなってきたように思う。
問題領域を明確にし、その問題を適切に設計に反映するというのが、プログラマの醍醐味なのではないか。
DB のリプレースをしてみたら、移行先の DB サーバーが高負荷になった。
レプリケーションがまずいのかなんなのか? でも、ただ、ディスクの RAID がきいていないだけだった。それならと SSD にしたらすっかり問題解消した。そんなことを思い出した。
ムーアの法則みたいな冗談話。パフォーマンスチューニングに大量の人的リソースをかけるならCPUの性能向上を待てばいい。
何かに取り込まれないように話すのは本当に難しいし、結局できなかった。
yanesdk を久しぶりに思い出して感慨深いのは間違いない。
こういった以上、勝ち負けはどうでもよくてあとは棋譜のみで判断したいところだけど
なにせ将棋がまったくわからんのがほんとうに……