茶道とプログラミング

社会人になってから3-4年のあいだ、茶道を習っていた。その中に、プログラミングとの類似性を見ていたというお話。

f:id:shoheihido:20170531101733j:plain

茶道は馴染みがない人にはお寺を拝観するとサービスでついてくるもの、あるいは大河ドラマにおいて薄暗い茶室のシーンがあり、客が茶を飲むあいだに亭主が思わせぶりな話をする、というイメージが強いかもしれない。

だがお茶を点てて飲むことは茶道の一部でしか無く、そのはじまりからおわり、仕度から片付けまで含めて一連の流れとして稽古の中でも行う。

まず茶室に客が入った時点では、まだ亭主(お茶を点てる側)は姿を現しておらず、釜に湯が沸いているだけである。

そこでふすまが開き、礼をすると亭主は物も言わず入ってきて、水を張った器を運ぶ。いったん下がり、続いて茶碗と抹茶が入った茶入れを左右の手で持ってくる。最後に、使用済みの水を溜めておく別の器(建水)を持ってくる。まるで変数の宣言のようだ。

亭主は居住まいを正すと柄杓を持って正面に構える。ここからがメインの処理になる。

いったん柄杓をさげると、茶入れと茶杓を布で拭き清め、茶碗はお湯をすくい入れて洗い流す。変数の初期化だ。毎度の布のたたみ方、茶入れの胴体と蓋の拭き方まで細かく決まっているため、ここまでで全体の時間の1/3はかかっている。

いよいよお茶を点てる段になる。茶杓を右手に持ったところで、菓子を勧める。客はお茶が出来上がる前に、菓子を食べる。そう、マルチプロセスだった。

茶入れの蓋を開け、抹茶の粉を茶杓ですくって茶碗に入れる。1すくい目はたっぷりと、2度目で量を調整する。釜からわざと余るくらいなみなみと汲んだ湯を適量注いだら、残りは釜に戻す。複数回水をそそぐようなみっともない真似もいらず、釜のお湯が煮え立ちすぎないように冷ます効果もある。極めて合理的な手順だ。アルゴリズムだ。

みんな知ってるあのケバケバの茶筅を茶碗に差し込み、茶碗を左手で押さえながら茶を点てる。抹茶が泡立つほどうまく点てるには手首を使ってかなりの速度でかき混ぜなければならない、しかし必死なところを客に見せるわけにはいかないので、背筋を伸ばして涼しい顔で楽にやっているふりをする。内部処理の隠蔽だ。

茶を点て終わったら、亭主は自分のいる畳の縁の外に茶碗を置く。それが出来上がりの合図だ。しかし客に直接受け渡すことはしない。菓子を食べ終えた客が自ら擦り寄って取りに来るのだ。Publish-Subscribeだ。

客が一礼して一口飲んだところで、亭主から「お服加減はいかがでしょうか」と茶の出来を尋ねる。Ifだ。しかし客は「大変結構でございます」と答えることが決まっている。If Trueだ。

飲み終わって客が元の場所に茶碗を戻すと、亭主が再び自分の目の前にもってきて、お湯で洗い清めて拭く。ここで、複数人の客がいるならば、1杯ずつ同じ手順で茶を点てる。Forループだ。

最後の客が飲み終わり、茶碗を清めようとしたところで、最初の客(正客)が「どうぞお仕舞いください」と合図を出す。Forループから脱出するBreakだ。

ここからは終了処理に入る。準備のときとほぼ逆順に、道具を洗い、片付けていく。使用済みの水がたっぷり入った建水から順に、茶室の外に下げていく。GCだ。

最後の道具をしまい終わると勝手口に亭主が跪き、客も揃って深く礼をすることで一連の稽古完了となる。茶室の中の状況は始まる前とほぼ同じである。メモリがクリアされた感じがして清々しい。

どうだろうか。以上の印象はコンピュータサイエンスの人なら一度体験すればわかってもらえると信じている(本当かどうかはわからない)。体験であれば色々なところで機会があると思うのでぜひ確かめてみて欲しい。

そこまで真面目な生徒ではなかったが、土曜なんとかかんとか早起きして先生のお宅にお邪魔し、庭の景色から季節を感じつつ、掃き清められた畳の部屋で稽古をつけてもらう時間がとても好きだった。稽古はアメリカに来てからしていないし、日本でももう先生が引退されてしまったけれど、いつか茶道は再開したいと思っている。

裏千家の薄茶平点前を基準に書いたつもりだが、拝見など一部省略はしている。記憶違いがあってもご容赦願いたい。


裏千家/手前/薄茶手前/炉/稽古用