自戒のためのエントリ。
そして、プログラマに関する書き物についてのエントリ。
一つの文が長過ぎる
文章というものは、当たり前だがたくさんの文が機能的に連結することで成り立っている。一文が長いと、一つ一つの文の持つ役割が曖昧になる。結果的に文章全体としての意味が分かりづらくなる。もしくは、文章全体としての主張がねじれる。良いことは、無い。
短ければいいというものでもなく、役割が分かりづらい文が混入していないことが望ましい。オブジェクト指向において、あるクラスの中に全く使われていないメソッドが定義されていると、それは気持ち悪いだろう。文章の場合、より深刻かもしれない。
主語が明確でない
高等学校の授業で「古文」という科目を受けた人は多いはずだ。そして多くの人は、「なんて古文は読みづらいんだろう」と思ってきたはずである。その原因の一つは「主語が無い」ことである。彼らの文章は非常にハイコンテクスト(文脈依存、「常識」依存)であったため、そういう主語の無い文章でも問題が起きなかった。だが、そのコンテクストは現代に生きる我々には当然共有されていない。よって、何を言っているのか理解しづらい。
「主語」という概念がそもそも日本語に存在しなかったという主張もあるが、英語由来だろうが何だろうが現代の我々が便利な「主語」という概念を導入することに問題は無いはずだ。特に、コンテクストを共有できるとは限らない人々に向けた文章ならばなおさらである。
コンテクストを共有する最初の方法論が「主語を明確にする」ことだとも言える(かもしれない)。
要するに、主語がある方が文章は格段に分かりやすい。特に、多くの人にとって分かりやすい。
具体的な例が無い
「オブジェクト指向は便利である」と言われたときと、「Ruby on Rails は、メンテナンスしやすいウェブアプリケーションを作る上で便利である」と言われたときについて考える。
前者については:
後者の方が読み手としては有益なはずである。
-
- 反論、同意、違和感などをより感じることができる。なので、他人事ではなく自分に関係することとして読みやすい
- 足りない情報がすぐにフックできる。「なぜか?」であるとか、「メンテナンスしやすい、とは?」であるとか
- 具体的な場面、 Ruby on Rails を利用したウェブ開発をしている自分の姿などをすぐに想像できる
要するに、後者の例で与えられる3要素(読者にフックがある、足りない情報が分かる、具体的な想像ができる)は、「読み進める」上でのモチベーションになる。
結論・主張がどこにあるか分からない
この特徴を回避したい場合、上述した3つの特徴をつぶせば、その文章はかなりましになるのではないか。さらに、結論を先に書く、言いたいことが並列している場合は箇条書きにする、図表を使う、太字などビジュアルでの読みやすさを狙う、などの工夫が役に立つだろう。
新しい用語に対して説明が無い
読者は、未知の用語があるとそこで解釈を保留する。するしかない。そうしないと文章全体の骨格が分からない。「ここは分からないけれど、置いておいて先に進める」ということだ。
そして、その「保留」が多くなりすぎると、オーバーフローして何もわからなくなる。一時記憶には限界がある。英語の穴埋め問題において、穴を埋めないまま文章を通して読んでいるようなものだ。なので、「これは分かりにくいのではないか」と思われる用語については、事前に説明するか、直後に説明するか、最低でも「あとで説明します」と宣言してくれないと安心できない。
プログラミングにおいても、使わなくなったメモリ領域はなるべく丁寧に解放していくべきなのだ。
説明も、「ラーメン二郎とは、港区三田に本店を構えるラーメンチェーン店である」のような、「〜とはXXXである」形式の明確な骨格を持っているべきである。「用語を説明する文である」という役割を分かりやすくするべき。
分かりにくい用語が出てくる場合、たいていは執筆者が面倒くさがっているだけである。
表記揺れがある
表記揺れは、「プロっぽくない」印象を与える。簡単なツールでつぶせるのでつぶしておくべき。
書き言葉としてふさわしくない表現が目立つ
個人的にも、ブログやtwitter(Togetter)を経由して文章を読む機会が増えた。そういう場面であれば、「〜っぽい」だとか、俗語だとか、「リア充」とか「ググれ」とか、見かけても「そんなもんか」と思う表現が多くある。
だが一方で、そういった表現を、ある程度きちんとしていると思われる媒体で見かけて、強い違和感を感じることがあった。最近であれば技術書の邦訳でいわゆる「ネットスラング」めいたものが多用されていて、なんだかなあ、と思った経験がある。原著がそういうノリだったんだ、と言われればそれまでだが、それならば原著も「なんだかなあ」ということなんだと思う。
特に、日本語と日本人読者においては、「ハレ」と「ケ」という概念が読者の根底的な価値観を支配している可能性が高い。「ハレ」の場にふさわしくない表現があると読み手は「?」と思うだろう。その「?」があまりに多いと、読みづらい。
新聞などの文章ほど堅苦しい必要は無いだろう(といいながら、最近は新聞の文章でさえ「ハレ」らしさが無くなっている印象が個人的にはある)。いわゆる「言葉狩り」も本質ではないだろう。けれど、読者は「くだけた」文章より「読みやすい」文章を求めている。そして、癖のある表現、文体、修辞を排除し、標準的な表現を多用した文章は、とても「読みやすい」。
「身内ネタ」が目立つ
上の項目に関係する。プログラマは、みんながアニメを見ている訳ではない。みんながニコニコ動画のようなノリなのではない。みんながネットスラングを好きな訳ではない。
あなたが好きなものを大嫌いな人間だっている(「身内ネタ」云々と少し外れるかもしれないが)。
楽しんで書いていない
上記で色々と列挙してきた。とはいえ、「言葉狩り」をすると文章を書くことがつまらなくなるので、ある程度は多目に見ても良いのかもしれない。読むことも、書くことも、本質的に楽しいことであるべきだ。書き手が楽しんだ上で読み手を楽しくする工夫をしても良いじゃないか、と思う。
なんだかんだで書く人がいないと始まらないので、書く方が萎えてしまっては始まらない。
* * *
自分の経験の上でも、興味深いテーマなのに、読みづらい、頭に入ってこない、等の感想を抱くことはしばしばあった。振り返ると、そういう感想を抱かせがちな文章は、多くの場合上記の特徴が当てはまっているのかなあ、と思っている。
多くの人は読みやすい文章を求めているはずで、修辞的な文章や、散漫な文章や、内容と関係なく不快になる文章は読みたくない。特にお金を払っている場合は読みたくない。あるいは、そういう文章を読むような「気分」を隔離している。詩を読む気持ちで技術書を読む人間はほとんどいない。
最後にエクスキューズを書いておくと、このエントリは今後文章を人目にさらすことが多くなるであろう自分のための見直し項目であり、これを読んでいるアナタを攻撃する意図はいっさい無い。「執筆者は」という表現は、すべて「ぼくは」という意味である。
ただ、見直し項目を共有することは有益かもしれないと思ってインターネットに書いた。
参考
- id:takahashim さんによる「LTを支える技術」
- http://www.slideshare.net/takahashim/ldd11-w
- 一文=スライドの一枚、文章全体=発表全体 と考えることもできる
- 「モヒカン族5つの価値」
蛇足
// こういう文章ではなく、もっと書くべき(直すべき)文章があるのに!!!
// ソフトウェア開発で例えれば「ライブラリの整備」にあたる作業だと思うことにする……。