コードの易姓革命

no extension

またオチがない orz とりとめのない話でスマン。

今回の起点はこれ:

Windows に関しては,割と早い段階(バージョン 3.1 あたり)から DOS ベースのバージョンと NT ベースのバージョンが並走していて NT の完成形が Windows 2000 (W2K) と言える。 個人的には W2K の直系子孫は Windows 7 と思っていて XP や Vista はゼロ年代の Microsoft の迷走ぶりを示す色物って感じ(個人の感想ですw)。 いや W2K はホンマ名作だったと思うよ(今のセキュリティ要件は満たさないけど)。 ちなみに Windows 95 は Windows for Workgroups (WfW または Windows 3.11) の直系という認識。 WfW の日本語版は出なかったため 3.0/3.1 から Windows 95 がいきなり登場する感じになってしまい,余計にインパクトがあったんだよなぁ。

大昔の話で恐縮だが「動いてるコードは変更するな」と言われた時代がある。 紙テープの時代は物理的にコードを切り貼りしてたそうだが(パッチの語源と聞いたことがある),テキストファイルのアセンブラコードでも既存のコードはなるべく弄らずにジャンプ(またはコール)命令でパッチコードに飛んで戻るみたいな書き方が定石だった(あれホンマに読みにくくてさぁ)。 アセンブラ以上の高級言語でも修正部分に修正履歴のコメントを残すのが普通で,下手をするとコードより修正履歴のコメントのほうが多いというカオスなコードもあった。 VCS (Version Control System) はどちらかというとリリースバージョンの管理に使われ,作業過程をコミット履歴として細かく残すようになったのは Subversion が登場するあたりからではないだろうか。 それだけ「修正」というのは高コストな作業だったのである。

FOSS 開発では(修正はともかく)プロジェクトの fork は忌避する傾向があったが,多分 Git/GitHub の登場あたりから fork のコストが劇的に下がった。 これについては良い面と良くない面があるが,今回は割愛しておこう。

ただねぇ。 Fork はまだしもコードの全面的な書き換えは技術的な「断層」が発生するのよ。 「涼宮ハルヒ」で言うなら「3年前より昔に遡れない」ってやつである(笑)

件のブログ記事では例として Firefox を挙げてたけど,あれが「使える」ようになるまでに傍で見ても相当な苦労があった。 名前も二転三転してるし。 しかも Firefox は Rust を使ってもう一度「易姓革命1」を行っている。 これも(言語・フレームワークの熟成も含めて)相当に時間がかかってしまい,その間に Chrome/Chromium がほぼブラウザ市場を制圧してしまった。

政治なんかでも革命やクーデターは最も高コストの改革として「最後の手段」になることが多いよね。

最近読んだ記事で面白いなと思ったのがこれ:

要するに流行りの AI エージェントなら要件を示せばコードを書いてくれるんだから,人間がコツコツとイテレーションを回さなくても毎回 AI にまるっと書き直させればいんじゃね? という話である。 LLM の hallucination や「モデル崩壊」の問題に目をつぶれば(つぶれるかなぁ)本当に面白いとは思う。

でも,さっき書いたように,コードの全面的な書き換えは技術的な断層が発生するのよ(大事なことなので2回言いました)。 あと VCS が無効化されるよね。 いや,バージョンに意味がなくなると言うべきか。 いずれも人間側の問題だけど。

私はロートルエンジニアで「技術は人に付く」と叩き込まれた世代である。 なので(たとえ要件を完全に満たしているとしても)前後の脈絡のない離散的なコード生成でホンマにええのん? と思ってしまう。

機械は「後悔」しない。

与えられた情報から何らかのアウトプットを出すだけだから「悪いのはインプットしたやつ」だし,アウトプットがダメダメでも(口先では謝罪するが)後悔して以後の自分自身を律したりはしない(律するのは人間側)。 その時々のフィードバックはあるが統合的に文脈を保持しているわけではないのだ。 面従腹背よりも質が悪いのが今の AI である(笑)

まぁ AI が「知りたがる」ようになれば,もう少し何か変わるかもしれない。

参考図書

photo
涼宮ハルヒの憂鬱 「涼宮ハルヒ」シリーズ (角川スニーカー文庫)
谷川 流 (著), いとう のいぢ (イラスト)
KADOKAWA 2009-03-01 (Release 2012-09-01)
Kindle版
B009EN3M7C (ASIN)
評価     

Kindle 版を買い直した。当時は火浦功さんの「スターライト」シリーズ以来のインパクトだった(個人の感想です)。

reviewed by Spiegel on 2014-03-16 (powered by PA-APIv5)


  1. 「易姓革命」とは,簡単に言うと(王朝の)姓が () わる革命のこと。さらに「革命」は儒教思想に基づくもので「(天)命を革める」という意味なんだそうだ。要するに「単なる下剋上による謀反ではないよ」ということで,宗教上でも肯定される正当な行為であると主張しているわけだ。まぁ,その時の支配者・為政者が言うことだから(笑) ↩︎