今回ゲストにお迎えしたのは『数学ガール』をはじめ数々の著作で知られる結城浩さん。執筆で暮らしていくには? 良い文章を書くには? お話を伺いました。
執筆一本で食べていけるのか?
竹馬:今日はよろしくお願いします。大学生のときに『数学ガール』を読んで、プログラミングを始めてから『Java言語プログラミングレッスン』(いずれもSBクリエイティブ)なども読みました。結城さんの本はどれも読みやすくて、その後もTwitterで活動を追っていたので、今回、インタビューを申し込ませていただきました。最初に結城さんの経歴などを教えていただいてもいいでしょうか。
結城:こんにちは、結城浩です。よろしくお願いします。もうずっと以前のことになりますが、ソフトウェアを開発する会社でさまざまな仕事をしていました。現在は会社勤めはしておらず、執筆業一本で生活しています。本を書くことがメインで、そのほかに『Software Design』(技術評論社)で連載記事を書いたり、cakesでWeb連載[1]をしたり、有料メールマガジンを毎週配信したりという活動ですね。
竹馬:今日、結城さんにお聞きしたかったのは、僕の周りのエンジニアだと、執筆ってそれ自体では儲からないので、名前を売ったり、転職を有利にする手段と割り切っている人が多いんです。実際のところ執筆一本で食っていけるものなんでしょうか。
結城:いきなり執筆一本で生活しはじめたわけではありませんね。連載や増刷やメルマガで定期収入もあるから、なんとかなっているという感じです。当然ですが、フリーランスとしての危機感はいつもありますよ。竹馬さんもフリーランスでしたっけ。
竹馬:2年前からフリーランスです。会社に所属しているわけではないです。
結城:開発の仕事だけど会社に所属しない状態というのは、不安ではないんでしょうか。
竹馬:仕事があるうちは大丈夫かなーと思っています。最初は会社に勤めながら副業をやっていて、忙しくて受けられない副業の依頼が増えてきたから、フリーランスでいけるなって感覚がありました。結城さんもそれに近いんでしょうか。
結城:近いと言えば近いですね。さまざまな要素が組み合わさって、執筆で生活できるくらいの収入が見込めるようになったので、フリーランスで生活できているという感じです。
「無駄」な作業が良い本を生む
竹馬:実際どういう風に本を書いているのか、本ができあがるか、お聞きしてもいいですか。
結城:今一番たくさん出ているシリーズは『数学ガールの秘密ノート』です。これはcakesというWebサイトで毎週連載をしているもので、1回分が20,000文字ぐらい。10回分たまって一冊になります。
ただし、Web連載の10回分がそのまま本になるわけではないです。再構成してLaTeXに直して、プリントアウトして読んで、直してはまたプリントアウトしての繰り返し、そういう「無駄」な手間をかけます。はじめからアウトラインを決
めてきっちりと固めてからがいいって思うかもしれませんが、荒削りな段階で最終的な本に近いPDFを作って、読んでは直すという繰り返しです。
一見「無駄」なんですけど、なぜかそのほうが良い本になるんですよ。本に近い状態までしてから、自分で読む。気になるところを探して直す。そういう泥臭いことを、わざとやっています。
竹馬:これはエンジニアだから気になっているんですが、執筆に使っているツールはどんなものでしょうか。
結城:特殊なツールは使っていませんね。書籍執筆ではVimとLaTeXが基本です。『数学ガール』には数式がたくさん出てくるので、LaTeXがなかったら絶対書かなかったと思います。バージョン管理はGitで、ほかのツールはEvernoteにSimplenote、自分一人で使うSlackといったものです。普通すぎて、全然参考にならないですね(笑)。
竹馬:特殊なことをしていないっていうのが、逆に参考になります。自分が変にツールに凝ってできあがらないタイプなので……。
技術書典は書き手と読み手をつなぐ
竹馬:技術書典が最近盛り上がっています。結城さんがこれをどう思っているのかお聞きしたいです。個人的には、流行のライブラリだったり、その組み合わせだったり、ちょっと旬が短い本が多いんじゃないか、と懸念していたりするんですが。
結城:えらそうなことは言えないんですが、技術書典のムーブメント自体はすごく良いと思っています。たしかに技術には賞味期限が短いものもありますが、技術者じゃないとわからないニッチなニーズってありますよね。それをさっと企画にして書くのは、技術者でないとなかなか難しいでしょう。
ある技術をよく知っている技術者が、その技術を文章にして本にまとめる。それは書き手にとっても勉強になるでしょうし、たとえニッチでも「これが知りたかった」という読み手もいるでしょうから、たとえ旬が短いとしても重要な活動と言えますね。技術書典のような場があって、そういう活動がプッシュされるのはとても良いことだと思います。書き手と読み手がつながりますから。
ただ、本の執筆をどのようにとらえるかという意識は、書き手によって千差万別でしょうね。文化祭のようなノリでわいわい書いて満足する方もいるでしょうし、それでは満足できないという方もいると思います。もっと深い内容を伝えたいと考える人、もっと広い読者に読んでもらいたいと考える人など。自分はどういう心持ちで本を執筆するのかを意識するのは大事だと思います。
竹馬:たしかに、同人と商業では同じ心持ちにはならなそうです。
結城:私はもともと、ベストセラーよりもロングセラーを作るのが好きです。長く売れる本、長く読まれる本が好きなんです。増刷がかかってくれると、自分の時間を使わなくても収入になってくれますし。現在私は数学物語のほうにシフトしていますが、それは私の性分に合っています。古くならない本が好きです。そういう意味では数学に関わる本を作るのは好きですね。
「読者」というテキスト処理系
竹馬:僕は大学生のころにライターのまね事をしていたのですが、結城さんは作家になるにあたって文章を書くためのトレーニングとかはされていましたか?
結城:意識してトレーニングしたことはありません。ただ思い出すのは大学時代に「ある程度の長さを持った文章を定期的に書こう」と意識していた時期はあります。当時は原稿用紙に手書きでしたけど。それが文章の練習かというと、ちょっと疑問ですが。
竹馬:もともと文章を書くことは多かったんですか?
結城:んー、どうでしょうね。学校の作文以外で文章を書くことはほとんどなかった気がしますね。あるとき、なんとなく雑誌に技術的な記事を投稿したら、それを読んだ編集者から「ちょっと文章を書かない?」って声をかけられました。それでライティングの仕事が始まったというノリです。文章の練習を積み、文章で身を立ててやろうと思ったことはあまりないような。
自分が文章を書く糧となったものは何かと考えてみますと、私は自分自身をメタな視点で見るのが好きなんです。私は文章を書いたとき、いつも「私は何を考えてこの文章を書いたんだろう」と考えます。プログラマーはみんな、そういうの好きですけどね。
竹馬:そうですね。自分自身を含めたメタ分析。
結城:「プログラム自体を作り出すプログラム」を作るのって、プログラマーは好きじゃないですか。私は同じことを自分の活動でもよくやります。私はどうしてこの文章を書いたのか。私がこういうものを好きなのはなぜか。そのような自己分析をするんです。文章を書くための文章を書くのが、私はすごく好きなんですよ。「プログラミング言語の本を書く」っていうのは「言葉の本を言葉で書く」ことなので、すごく好きです。
竹馬:わかります。ちょっと違う話になりますが、ECMA-262っていうJavaScriptの規格書があるんですけど、あれは自然言語として読むんじゃなくて、C++に変換される自然言語として読むんだと言っている人がいますね。
結城:ああ、文章だけどソースコードみたいな。
竹馬:そうです。規格書ってかなり特殊な言語形態だと思うんですけど、ほかのテキストも多かれ少なかれそういうところがあると思っていて、自分の発した言葉も、誰か他人の脳に届いて、他人の脳でコンパイルされるものですよね。
結城:いいですね。楽しいですね。
竹馬:そういう考え方が好きで、おもしろいなと。
結城:「文章を書くのがうまい人」は、文章を受け取った読者が、頭の中でその文章をどのように処理しているか、その予想がつけられる人ってことなんですね。自分の書いた言葉が読者に届いたときに、正しくコンパイルされて、エラーもなく動くかどうか。
「誤読される文章を書く人」は、読者のモデル化がうまくできていないとも言えそうです。この文章を読んだ読者は+1するはずだと思って書いたけど、実際の読者は-1してしまいました、みたいな。
竹馬:良い技術ドキュメントについて考えると、これは『数学ガール』の感想でもあるんですが、個々のステップはそんなに難しくないんですけど、最終的にそれによってすごく大きなテーマにたどり着きますよね。そこがすごいなーと感じます。結城さんは、それがうまいなと思っていて。
結城:はい、そうです。うれしいです。そのとおりです。
竹馬:それを目指したいんだけど、難しい。
結城:そこはでも、本質的に難しいところですよね。がんばるしかありません。
竹馬:逆によく見る駄目な例なんですが、その人が学習した最終段階が分解されずに最初に提示されてしまうもの。小さな概念に分解できるはずなのに、分解されずにごちゃっとなっちゃっています。
結城:大きなものを理解してもらうためには分解が必要ですね。一つ一つは簡単な部品。その部品を段階的に読者に渡す。部品を読者に渡しておいたうえで、ちゃんとおもしろいものを読者に組み立ててもらう。簡単な部品でも、数が多くては困る。数を減らすのはいいけど、一つ一つが難しいのも困る。そこをうまく調整する。自分が理解した部品によって大きな世界が構築できるのを体験した読者は「おお!」と思います。いわゆる「ワオ・イフェクト」(注2)ですね。そのような本が作れると、読者さんにファンになってもらえる可能性が高くなるでしょうね。
良い文章を書く原則はたった一つ
竹馬:結城さんはプログラミングだけではなく、数学のような、さまざまな概念のコアになるテーマに挑んでいると思うんです。どういうことを考えて書いていらっしゃるんですか。
結城:私が書いた『数学文章作法』(ちくま学芸文庫)は、まさにそれについて書いている本と言えます。その本では、たった一つのことしか書いていません。《読者のことを考える》という一つの原則です。書くテーマによらず、この原則を外さないことが大事だと思います。またメタな話になりますが、この本自体が《読者のことを考える》という原則で書かれている本なんですね。
技術からスタートするのではなく、自分が書きたいものからスタートするのでもなく、《読者のことを考える》ことが大事。技術力は大事ですし、熱意も大事ですが、読者のことを考えない書き方をすると、読者には伝わりません。自分の欲求を満たすためではなく、読者の欲求を満たすために書くのです。
読者さんは、自分のやりたいことや考えたいことがあって、でも自分の力じゃできないし、よくわからない状態になっている。それはつまり、邪魔になっている何かがあるわけですよね。できない理由、わからない理由がある。ですから、その邪魔なものを見つけて取り除くことが必要です。これはかたくて噛めないよというときに、それを噛み砕いてあげる。それによって読者さんは自分の力で次の一歩を踏み出せる。そこに読者の喜びがあり、読者が価値を実感できるところがある。
竹馬:なるほど。さっきのメタ分析の話に戻りますが、作者が持っている読者像や読者モデルが想定とずれたときに、反論やネガティブな感想が来ますよね。誤解されることもある。そういうものにはどう向き合っていますか?
結城:ポイントは「境界線をどこに引くか」にあります。自分はこういう意味で書いたけれど、読者は別の意味に読んでしまった。そのような誤読はいつでもあり得ます。誤読されることで悩みそうになったら「境界線をどこに引くか」が大事です。「自分でコントロールできるところ」と「自分ではコントロールできないところ」の間にあるのが境界線です。「自分がどう書くか」はコントロールできる。でも「読者がどう読むか」はコントロールできない。コントロールできないことは、どうしようもないので割り切ります。
竹馬:誤読によって批判が来ることは当然として、ってことですよね。アンチのような人がいる場合は、メンタルが強くないとつらそうです。
結城:誤読による批判もまた重要な情報なんですよ。この話題をこのように書くと、こんなふうに誤読されるんだなという情報です。賛同でも批判でも、反応が来るのはありがたいことです。自分の想定読者像のずれを補正できる。自分の理解をデバッグするようなものです。
たしかにメンタルの強さは必要ですけれど、境界線を理解して相手をコントロールしないことが大事です。読者をコントロールしようとするのは押しつけにもなりますし。
批判に対してもう一つ。読者が多ければ多いほど、想定外の反応も出てくることになります。すごく熱狂的なファンがいるときには、熱狂的なアンチがいてもおかしいことではありません。想定外の反応が来たときというのは、想定よりも広い範囲に文章が届いた可能性があります。それも貴重な指標ですね。批判されるとどうしても防御的になってしまいますが、そこにだけ注目してしまうのではなく、応援してくれる多くの人にも注目する必要があるでしょう。
いずれにせよ、《読者のことを考える》という原則をしっかりつかまえておくことが大事ですね。これはまた「愛」に通じる原則でもあります。私はこの原則だけでこれまで四半世紀に渡る執筆活動を続けてきましたので、確信を持ってお勧めできます。
- 特集1
イミュータブルデータモデルで始める
実践データモデリング
業務の複雑さをシンプルに表現!
- 特集2
いまはじめるFlutter
iOS/Android両対応アプリを開発してみよう
- 特集3
作って学ぶWeb3
ブロックチェーン、スマートコントラクト、NFT