六回目。前回のレビューの最後に「捨てられない物の回は、いよいよ一軒の家の、その家にしかない事情が問われる回になるはずだ」と書いた。その回が来た。結論から言うと、その期待には、はっきり応えている。良い点から挙げる。
まず、この回の発明は「参照が切れる瞬間」をホテルのチェックアウトに見つけたことだ。「家の物が捨てられないのは、参照がいつ切れたのか、誰も宣言してくれないから」——これは、ガベージコレクションを家事に当てる無数の試みの中で、私がいちばん見たかった一文だ。GCの本質は「捨てる作業」ではなく「もう使われていないと判定する手続き」にある。捨てる係がいない、という話は誰でもするが、切れた瞬間が無い、という話まで降りたのは、この回の手柄だ。チェックアウトが「一気に矢印を全部切る」制度として埋め込まれている、という対比は、CS側から見ても正確で、家事側から見ても発見がある。両方向に効く比喩は、そう多くない。
第二に、世代別GCの読み替えが、比喩で歪んでいない。「新しく作られたものほど、すぐ死ぬ/長く生き延びたものは、さらに長く生きる」を「玄関と卓上(毎日見る)/押し入れの奥(何年も見ない)」に当てた箇所は、世代仮説(generational hypothesis)をほぼそのまま運んでいる。しかも、マキノが自分の家を世代別に読み直すところを、シマダが「言葉にせずに、もうやっている」と追認する——前回レビューで歓迎した「マキノが先に体で言い当て、シマダが概念名で受ける逆流」が、ここでまた効いている。ストップ・ザ・ワールドを「大掃除の日は、ご飯も適当だし、洗濯も後回し」に着地させたのも上手い。世界が止まる、の「世界」が、家事という具体に正しく置き換わっている。
第三に、「収納と回収は、別の問題」という一撃。「収納を増やすのは、ヒープを増やすこと」「漏れている蛇口に、大きいバケツを足しているのと同じ」は、この回の思想的な背骨で、しかも家計や片づけ本がいちばん言わないことを言っている。前回の「一人でやった方が早いは、サボりではなく構造」と同じ系列の、感情ではなく構造の指摘だ。
これまでの指摘の経過観察。固有の数(◎。包丁・製麺機・三か月・一か月・ごみ袋一つ・十五袋・火曜と金曜……と、今回も具体物と数で押している)と、マキノの問い返し(◎。「どうすればよかったんですか」「いちいち全部聞いてたら片づかない」と要所で論を前へ蹴り出す)は維持。締めの重心も、シリーズの型どおり「理想と選択の落差」で閉じている(後述7)。一方、クライマックスの一本化(#3以降の宿題)は、今回もセクション6(捨てるという労働)と7(締め)で山が二度立ちかけている(後述6)。そしてGC回・断捨離隣接回ならではの観点を三つ。説教への接近(捨てよ・減らせの号令に寄っていないか・後述1)、「捨てない自由」が本当に等価か(気持ちの矢印が、アリバイの言及で終わっていないか・後述2)、CS概念の正確さ(参照という一語の翻訳が一貫しているか/マーク&スイープのスイープがどこへ消えたか・後述3と4)。以下、第一稿からそのまま引いて挙げる。
「——そこは、ぼく、一つだけ言わせてください。説教にならないように言いますが。収納を増やすのは、ヒープを増やすことなんです。」
「いや、それが悪いとは言ってないんです。バケツを大きくする判断が正しい場面も、ある。」
この回でいちばん怖いのは、ガベージコレクション=断捨離、という連想に引きずられて、「捨てよ・減らせ」の説教に着地することだ。書き手はそれをよく自覚していて、「説教にならないように言いますが」と予防線を張り、直後に「それが悪いとは言ってない」とフォローまで入れている。自覚は正しい。だが、処置がやや過剰だ。予防線→説教の中身→フォロー、と三段構えにしたせいで、結果として「収納を増やすこと」をめぐる是非だけで、一節まるごと使ってしまっている。読者の体感では、ことわってから言うと、かえって「あ、これは説教なんだ」と身構える。前回レビューで「説教くさかったら聞き流して、は上手い予防線」と褒めたが、あれは一度だったから効いた。今回は予防線とフォローで挟むぶん、地の主張(収納と回収は別問題)より、語り手の弁明の方が前に出てしまっている。処方は、弁明を削って主張だけ残すこと。シマダは「説教にならないように」を言わず、いきなり「収納を増やすのは、置き場所を広げているだけで、漏れは一個も直っていない」と構造だけ置く。是非(増やしていいか悪いか)はシマダが裁定せず、マキノの「去年、まさに引き出し買い足しました」が現場の実感として受ければいい。構造の指摘は、号令にならない。号令にしているのは、むしろ前後の弁明の方だ。
「もう一つは、気持ちの矢印——子どもの最初の靴とか、もう履けないけど捨てられない。後者は、機能としては誰も参照していないのに、別の線でつながっている。プログラムの参照は、この二つを区別しません。」
このシリーズの看板は「効率だけでなく、快適さ・分担・諦めも等価に扱う」だ。GC回でその「等価」が試されるのは、まさにここ——機能では誰も使っていないのに、捨てない、という選択を、効率の側と同じ重さで扱えているかだ。第一稿は「気持ちの矢印」という良い概念を、セクション2で一度名付けたきり、その後ほとんど働かせていない。以降の論(世代別・リーク・回収のコスト)は、すべて「機能の矢印が切れたものを、いかに回収するか」に向かって走り、気持ちの矢印は回収の例外・障害物としてしか出てこない(フィギュア事件の「目の参照」も、結局は「事故の原因」側に置かれる)。これだと、看板に書いた「諦め・捨てない自由」が、序盤で一回言及しただけのアリバイになりかねない。GCのメタファーは構造上どうしても「回収=善」に傾く——だからこそ、回収しないことを能動的に選ぶ価値を、一度きちんと立てておきたい。処方は、締め(7)の手前に半往復。マキノに、機能の矢印は切れているのに自分が意志で残しているものを一つ出させる(子どもの靴でも、亡くなった親の何かでもいい)。そしてシマダに「それは、回収しそびれているんじゃない。参照を、あなたが手で立て直している。GCには、これができない」と受けさせる。CS的にも正しい——プログラマは生かしたいオブジェクトへの参照を意図的に保持する(GCルートに繋ぐ)ことで回収を防ぐ。捨てないことは、漏れではなく、明示的な保持なのだ。この一往復があると、「捨てない自由」が、リークの言い訳ではなく、回収と対等な選択として立つ。
「参照、というのは——その箱を指している矢印が、まだどこかから出ているか、ということ。」(2)
「『これ、使ってる?』と聞かれて『使ってる』と言える状態、です。台所の包丁は、毎日手が伸びる。」(2)
「手は伸びてなかったけど、目の参照が、生きてたんです。」(4・マキノ)
これは欠点というより、シリーズの背骨になる一語の、定義の揺れの指摘だ。この回の全概念(生死判定・世代・リーク・マーク)は、すべて「参照」の一語に乗っている。ところが本文では、参照が三つの像で語られる——(a)矢印(箱を指す線。CSの参照そのもの)、(b)手が伸びる(実際に使う=アクセスの頻度)、(c)目の参照(見て愛でている=機能外のつながり)。CSの「参照される」は厳密には(a)だけで、「指す線が一本でもあるか」のyes/noであって、頻度(b)でも愛着(c)でもない。第一稿はこの三つを、便利に行き来しながら使っている。とくに気になるのが世代別GC(3)で、ここの根拠は「新しいものほどすぐ死ぬ」=参照が早く切れる、という生死の話なのに、本文の運用は「毎日見るか/何年も見ないか」=アクセス頻度(b)の話にすり替わっている。「何年も見ていないが、参照(a)は生きている」物(押し入れのベビーカー=思い出)こそ、まさにこの回の主役のはずなのに、世代別の節では「見ない=古い=死にかけ」として扱われ、(b)と(a)が混ざる。処方は、参照を一度だけきちんと定義し直すこと。シマダに「参照は、頻度じゃない。一本でも線が出ているか、です。毎日は触らなくても、線が生きている物はある」と(a)を立て、その上で世代別GCは「参照の生死」そのものではなく「参照が切れやすい場所/切れにくい場所」を経験則で分けているのだと半文で繋ぐ。そうすれば、(b)の頻度は「参照を確かめるコストを下げる近似」として正しく位置づき、(c)の気持ちの矢印(後述2)も「頻度ゼロでも参照は生きている」例として、世代別の話と矛盾なく並ぶ。一語の定義が締まると、七つの節が一本の線で繋がる。
「マーク——印をつけて回る、といいます。生きている箱に印をつけて、印のないものだけ回収する。この、印をつけて回る作業自体が、コストなんです。」
マークの説明は正確だ——生きているものに印をつけ、印のないものを回収する。ただ、CSでこの手法はマーク&スイープと二語で呼ばれていて、第一稿はマーク(印つけ)だけを名指しし、スイープ(印のない物を一掃する工程)を名前なしで「回収する」と流している。これは小さなことに見えて、この回のテーマに直結する。なぜなら、家事におけるスイープこそ、セクション6の「捨てるという労働」そのものだからだ——分別し、ごみの日を覚え、運んで出す。マキノが終盤で言う「最後にその箱を空にする人は、要る」は、まさにスイープの工程に名前がついていないせいで、誰の仕事か見えなくなる、という指摘になっている。つまりスイープという一語の不在が、この回の主題(捨てる労働は見えない)と、実は同型なのだ。処方は、マークの後にスイープを半文だけ立てること。シマダに「印をつけるのが『マーク』、印のないものを実際に運び出すのが『スイープ』——掃き出す、です。家事でいちばん重いのは、判定より、このスイープの方なんです」と置く。そうすると、セクション4の「迷うものを保留ボックスに入れる」=マーク(判定の保留)と、セクション6の「分別して運んで出す」=スイープ(実行の労働)が、二つの別の手間として分かれて見える。今は「回収」の一語に判定と実行が溶けていて、終盤の「箱を空にする人」の重みが、概念の裏づけを持てずにいる。
「私には、ただ放置されたごみに見えた。あの子には、毎日見てる、並びの決まった大事なものだった。手は伸びてなかったけど、目の参照が、生きてたんです。」
「フィギュア事件は、保留ボックスがあれば、たぶん起きなかった。机から消えても、家からは消えてない。」
このエピソードは、この回でいちばん体温が高い。「ただ放置されたごみに見えた/あの子には、毎日見てる大事なものだった」の落差は、共有環境での生死判定の難しさ(他人にとっての参照は自分から見えない)を、理屈ではなく事件として立てている。ここまでは申し分ない。惜しいのは、その後の回収(着地)の仕方だ。シマダが「保留ボックスがあれば起きなかった」と解決策へ素早く畳んでしまうため、せっかくの事件が「だから保留ボックスを置きましょう」という対策のための前振り(教訓話)に痩せてしまう。前回レビューで言った「処方を司会が配るな」と同じ病で、ここでは事件の痛みを、シマダが解決策で素早く回収してしまう。だが、この事件の本当の核は「解決策があったか」ではなく「母には、子の参照が、最後まで見えなかった」ことのはずだ。共有環境のGCで、他スレッドが握っている参照は、こちらのスレッドからは原理的に見えない——だから誤って回収する事故は、保留ボックスで被害を遅らせられても、見えなさそのものは消えない。処方は、シマダに解決策を急がせないこと。「保留ボックスがあれば起きなかった」の前に、半呼吸。「いちばん怖いのは、あなたに悪気が無かったことなんです。参照が生きているかは、握っている本人にしか見えない。あなたからは、どうやっても見えなかった」と、まず見えなさを認める。保留ボックスは、その見えなさを前提に被害を遅らせる緩衝として後から出す。そうすれば、事故が「対策で解決した話」ではなく「見えないものを、どう扱って生きるか」の話として残る。マキノの「大泣き」を、対策の踏み台にしない。
「第1回で名もなき家事の話をしましたよね。『捨てる労働』は、その代表格なんです。作る側からは見えない。」(6)
「その係には、名前が付いていない。『捨てる係』という役職で呼ばれることが、ない。誰かがやっているのに、やっていることが、見えていない。」(7)
#3以降の「山が二つ」の宿題が、今回も顔を出している。セクション6の「捨てる労働は名もなき家事の代表格/作る側から見えない」と、セクション7の「捨てる係に名前が付いていない/やっていることが見えない」は、ほぼ同じ主張(見えない労働だ)が二度鳴る。論理は連続しているが、感情のピークが二回来る。読者は6でいちど「見えない労働なんだ」と受け取ってしまうので、7の同じ着地が二度目の波として薄まりかねない。ただし今回は、前回までと処方が少し違う。この回の締め(7)には、第一稿の段階ですでに最高の一手が用意されている——マキノの最後の台詞「気づいたら空になってる、って思ってる」だ。これは「見えない労働だ」の説明ではなく、見えなさを家族の側から描いた具体で、説明ではなく情景になっている。処方は、6の「名もなき家事の代表格」を断定で立て切らず、第1回への参照(後述7で触れる)だけ軽く置いて素通りさせ、見えなさの山は7の「気づいたら空になってる」に集約すること。7の中盤の「捨てる係に名前が付いていない/コストとして勘定に入れていない」という説明(理屈)を削り、シマダの概念整理は短く畳んで、マキノの「箱を空にする人は、要る」「気づいたら空になってる」の述懐だけで静かに引く。前回レビューで推した「締めは理屈を捨てて選択の述懐だけにする」が、ここでも効く。理屈は6で言い終えている。7は、情景だけでいい。
「第2回で、冷蔵庫の奥の、いつ開封したかわからない瓶の話をしましたよね。あれ、賞味期限という意味では参照が切れているのに、回収されずに残っている。立派なリークです。」(5)
「第1回で名もなき家事の話をしましたよね。『捨てる労働』は、その代表格なんです。」(6)
自己引用は、このシリーズの財産であり続けている。前回レビューで「過去回の概念が、飾りの再放送ではなく今回の論を進めるために再利用されている」と褒めたが、今回もその水準は保たれている。ただし、二つの呼応で、効きの深さが違う。#2「冷蔵庫の奥の瓶」(5)は見事だ——あの時は「奥に沈んで存在を忘れられた物」として出したものを、今回「参照が切れているのに回収されない=リーク」と概念で読み直している。同じ物が、回をまたいで意味を更新されている。これは自己引用の最良の形だ。一方、#1「名もなき家事」(6)は、参照はしているものの「捨てる労働は、その代表格」と分類しただけで、#1の何を、今回どう更新したのかが弱い。#1は「やっても誰にも気づかれない家事=コンテキストが流しに溜まる」回だったはずで、今回の「捨てる労働」は、その「気づかれなさ」を、GCという仕組みの不在として構造化できる位置にある。処方は、#1を分類で済ませず一段更新すること。シマダに「#1では『気づかれない』までしか言えなかった。今日わかったのは、気づかれないんじゃなくて、家には気づく仕組み=回収する係そのものが無いんです。名前が付いていないんじゃなくて、係が制度として存在しない」と、#1の認識を一歩進めさせる。そうすれば、#2が「物の読み直し」、#1が「主張の読み直し」と、二種類の自己引用が役割を分けて働く。今は#2が財産、#1が材料、という段差がある。せっかく二本呼んだのだから、二本とも効かせたい。
六回目にして、シリーズの看板(効率・快適さ・分担・諦めを等価に)が、いちばん試される回だった。「参照が切れる瞬間が、家には無い」というチェックアウトの発見、世代別GCを玄関と押し入れに当てた読み替え、「収納と回収は別問題」という構造の一撃——この回の財産は、どれも比喩で歪んでいない。マキノの問い返しも健在で、論を受け身にしていない。冷蔵庫の瓶(#2)をリークとして読み直した自己引用は、シリーズ最良の部類だ。
GC回・断捨離隣接回ならではで、いちばん見たいのは二点。「捨てない自由」を、リークの言い訳ではなく、回収と対等な「明示的な保持」として一度立てる(2)。看板に「諦めも等価」と書いた回は、ここを通らないとアリバイになる。そしてフィギュア事故を、対策の前振りにせず、「他人の参照は見えない」という痛みのまま残す(5)。大泣きを、保留ボックスの踏み台にしない。
CS概念の精度で締めたいのは二点。「参照」を頻度でも愛着でもなく「線が一本でもあるか」で定義し直し、世代別GCはその近似だと位置づける(3)。一語が締まると七節が一本の線で繋がる。マーク&スイープの「スイープ」を半文だけ立て、判定(マーク)と実行(スイープ=捨てる労働)を分ける(4)。スイープの不在が、この回の主題「捨てる労働は見えない」と同型なのは、偶然ではない。
構成と声では、前回からの宿題クライマックスの一本化が再発しかけ——6の「名もなき家事の代表格」と7の「係に名前が無い」で山が二つ(6)。だが今回は、7の最後にすでに「気づいたら空になってる、って思ってる」という、説明ではなく情景の一手がある。6と7の説明(理屈)を削り、この情景に山を集約すれば、落差が立つ。説教への接近は、書き手が自覚して予防線を張っているぶん、むしろ弁明を削って構造だけ残す方が号令にならない(1)。既刊呼応は、#2が物の読み直しとして財産になっているので、#1も分類で済ませず主張の読み直しまで進めたい(7)。
第7回は「冗長性とバックアップ」、捨てる話の裏返しだという。GC回が「もう要らないものを、どう手放すか」だったなら、次は「まだ要るかもしれないものを、どう二重に持つか」だ。今回せっかく「捨てない自由=明示的な保持」(2)に踏み込めれば、それは次回の「予備を持つ」と地続きになる。捨てない物と、予備に持つ物は、どちらも機能の参照が今は切れている物だ——その二つを、シリーズはどう区別するのか。第6回が、その問いの入口を作れるかどうかにかかっている。第二稿を楽しみにしている。