Ask the Speaker で azu さんに質問できた(@TSKaigi 2025)
ソフトウェアエンジニアのための問答ラジオ
パンダとおくだが、Web業界の当たり前を「これって本当にそうだっけ?」と問い直すラジオを配信しています
TSKaigi 2025 の Ask the Speaker で azu さんに質問できた
2025/5/23-24に開催されたTSKaigi 2025に参加・登壇しました。
2日目のazuさんの発表「技術書をソフトウェア開発する - jsprimer の 10 年から学ぶ継続的メンテナンスの技術」を聞き終わり、即座に Ask the Speaker の場所に向かいました。
自分は2人目だったのですが、すぐに多くの方が集まってきて、azu さんへ「JS Primerを読んでエンジニアになりました!」や「スポンサーしてます!」という感謝や応援の言葉が飛び交いました。その中で自分の番が回ってきたので質問をしました。
「自分は本を本として、ソフトウェアをソフトウェアとしてしか見たことがなかったです。azuさんはどこから書籍をソフトウェアとして捉えるという着想を得られたのでしょうか」
azuさんの回答は以下のような内容でした(すぐメモを取ったのですが一語一句その通りというわけではないです)。
パラグラフライティングは、文章をシンプルに書くこと。これはソフトウェアのコードと同じ。ソフトウェアはアーキテクチャであって、深掘りすれば建築にたどりつく。建築は汎用性をめざす。
発表の中で言及した「既知から未知に進む」はコードも書籍も同じ。例えば、コードに
import a
と書かれていたら、a
はそのimport
の下で使われていてほしい。反対にa
の下にimport
があったら未知から始まってしまう。もしa
を辿ったとしても、その先はa
に関する内容だけ書いていてほしい。
この話を聞いて、「コードは文章に似ていると自分は考えたことがある。反対にazuさんは文章をコードに、ソフトウェアに似ていると考えていたのだ」と理解しました。同時に、自分はラッパーのZORNが言う「韻の飛距離」という言葉を思い出していました。
韻の飛距離とコードとしての文章
日本語ラップの世界では韻(rhyme)が重視されます。そして韻を踏む言葉の組み合わせには良し悪しがあります。ただ母音を合わせて韻を踏むだけでは良い歌詞にはなりません。では良い韻、面白い韻とはなんでしょうか。それはZORNは「飛距離が遠いこと」と例えました。
ZORN:そうなんだよね、韻には飛距離があるんだよね。
(中略)
R-指定:「A」という言葉と「B」という言葉で踏もうとしたら、「A」と「B」の言葉の響きは近ければ近いほどいい。でも、その内容がかけ離れていれば離れているほど、韻として面白いというか。
詳しい解説はこちらの記事に譲ります。 この記事で挙げられている例は下記のようなものです。
表参道のオープンカフェより/も嫁さんとの醤油ラーメン (Have A Good Time/ZORN feat. AKLO)
以下のように母音が揃っています。
表参道(ooeano)の(o)オープンカフェ(ounae)
も嫁さんと(ooeano)の(o)醤油ラーメン(ounaen)
「飛距離のある韻」と「文章をコードとして捉える」こと。どちらにも通じるのは、一見関係のないように思える具体的な事物の中に、構造の類似や関係性を見出すというアナロジーです。そして「書籍はソフトウェアである」「文章はコードである」という表現は、自分にとって「飛距離が遠い」、しかし一度言われてみると確かに似ていると思えるメタファーでした。
自分は WordPress を触るところからソフトウェアエンジニアとしての道を歩み始めました。WordPress の哲学の一つに“Code is Poetry”というものがあります。自分はこの一文を知ってから「コードを文章のように捉える」ことを好んでいます。
しかし、自分はこの関係性の矢印を反対方向に向けることはありませんでした。文章の一文一文をコードの一行のように、各パラグラフをコードの各ブロックのように、一つの章を一つのファイルとして考えることはなかったのです。
発表スライドに「静的/アクティブな状態(依存の有無)」という言葉が盛り込まれていて、この考え方こそが文章をソフトウェアとして捉えるキーであるように思います。
自分がソフトウェアエンジニアになってから何年も経ちました。そして今やっと「文章とはコードである」という考え方を手に入れました。自分は世界に対する見方が変わるこの瞬間が好きです。そのきっかけを与えてくれたazuさん、TS Kaigi 2025に感謝しています。
(全日を通した参加記事はまた別で書きます)
参照
(2025/5/25追記)
コードを書くように文章を書くという視点が書かれていました。一部引用します
この辺は文章でもそうですが、プログラミングでも関数やモジュールという単位でアウトラインのように遠めに見ながら進めるタイミングと中身を見ながら進めるフェーズがあります。
技術書はif文が書きにくいコード、みたいな感じで書いていくのが感覚と近いのかもしれないですね。
なるほどなあと思いました。