2026-07-27 10:13 1.2K
ディスクからどれだけ離れたか
1995年、URL はパスであり、パスはディスク上の場所だった。返ってくる一覧は、ディレクトリを歩いて中身を印字して作られていた。ファイルがあれば見えたし、なければ見えなかった。読者とファイルシステムの間にはソケット以外何もなかった。
以後に作られたものはすべてその上の層であり、どの層も読者をそこから遠ざけてきた。
読者にとって
CMS はアドレスをクエリに変える。ページの背後にファイルはない。パーマリンクはリライトルールが維持している虚構であり、便利な虚構ではあるが、アドレスはもう場所を指していない。意図を指している。
シングルページアプリケーションは文書すら取り除く。届くのはプログラムで、ページはブラウザの中で組み立てられる。その部品はどこにもページとして存在したことがない。
そしていま、読者はそもそも到達しなくなりつつある。モデルがページを読み、何が書かれていたかを報告する。最後の抽象化は、それを欲しがった本人がソースを一度も見ない状態だ。サイトは、大半が伝聞で知られる読者に向けて書かれ始めている。
開発者にとって
同じ階段を逆から登る。HTML を書いてアップロードしていた頃、頭の中のモデルはディスクと完全に一致していた。マークアップを繰り返さないためにテンプレートが来た。テンプレートを繰り返さないためにフレームワークが来た。ビルド、パッケージ管理、コンテナ、オーケストレーション。どの層も約束として現れる。この線より下を見なくてよい、と。
その約束はだいたい守られる。だから受け入れた。誰も100個のファイルを手で編集したくない。
ただし各層は、単純な問いに答える能力を静かに奪っていく。このテーマを作りながら、空のページがなぜ 20 KB あるのかを知りたくなった。答えるには、CMS が同梱する設計既定のJSONをCSSカスタムプロパティに変換する過程を読み、その前に走るフィルタを見つける必要があった。1995年なら、ファイルを見れば済んだ問いだ。
いまはモデルがコードを書き、層はまた一段上がる。今度はコードそのものの上に。方向は変わっていない。速度だけが変わった。
明白な皮肉
いま見ているものはディレクトリではない。データベースへの問い合わせを、テンプレート層とランタイムと共用サーバーの上で描いたもので、並んでいる行はどのファイルにも対応していない。右の Size 列はディスク上のバイト数ではなく文字数だ。日付はメタデータだ。Parent Directory はどこにも上がらない。分類をたどっているだけだ。
これは、最も抽象化されていない見た目を、最も抽象化された手段で作っているということであり、そこに逃げ道はない。階段は降りられない。建物はもう建っている。
できるのは、上に立ったまま下がどう見えたかを覚えているものを作ることと、自分がどちらに立っているかについて正確でいることだけだ。