2014年8月5日

テキストエディタと高齢社会

28
結城浩 @hyuki

Vimはすばらしいエディタなのだけれど、基本的にインサートモードの時間(シーケンス)が短いことを想定しているデザインだと思っている。そのため、ブレスト的なテキスト入力(ほとんどが追記で、編集しない状況)のときにはいささか使いにくいと感じる。

2014-08-05 15:27:02
結城浩 @hyuki

そういうとき、すなわち頭に浮かんだ文章をそのまま書いていくようなモードのときには、あえてVimを使わないこともよくある。現在使っているのは、OmmWriterというMacのアプリ。ときどきSublime Text2も使う。でもこの目的の場合にはOmmWriterで十分。

2014-08-05 15:30:57
結城浩 @hyuki

OmmWriter大好きです。その理由。起動するとフルスクリーンになる。背景は雪景色。マウスカーソルを動かしたり、Command+Sで保存したりしなければ他に何もない。ただ文章を入力するしかない。最低限の編集機能はNSTextView的なEmacsライクのものがあるだけ。

2014-08-05 15:34:07
結城浩 @hyuki

でも、それで十分なシチュエーションも多いんですよね。LaTeXのコマンドはあとで入れればいい、大きな(文や段落レベルの)編集もあとですればいい、というとき。ただひたすら考えていることをテキストに移し替えたいとき。そんなときにOmmWriterはすてきな環境です。制約がいとおしい。

2014-08-05 15:35:47
結城浩 @hyuki

昔はマルチファイル、マルチバッファなエディタであちこち飛び歩きながら編集するのが大好きでした。でも最近は思っていることを「まっすぐ書き下ろす」感覚がスキになっているみたい。

2014-08-05 15:36:46
結城浩 @hyuki

想定する読者さんがひとり、自分の前にいる(いや、心の中かもしれないけど)。その人に向かって、ほんとうに話しかけるように書いていくのがすごくすき。結城メルマガなんてそうやって書いていますものね。たった一人のあなたに向けて文章を書く贅沢。

2014-08-05 15:37:54
結城浩 @hyuki

もちろんこまごまと用字用語を直したり、あとから文章を《ドレッセ》したりするんだけれど、第0次近似としては、書き下ろす感覚がある。まずは大きな流れをどどっとファイルに吐き出すような感じ。そういう目的にはOmmWriterがすごくいい。

2014-08-05 15:39:09
結城浩 @hyuki

思うに、テキストエディタの素敵なところって、自分が思う編集をワンタッチもしくは数タッチでできるところにある。テキストエディタはプログラマの全能感の一部を担うときもある。

2014-08-05 15:40:12
結城浩 @hyuki

でも歳を重ねてくると、記憶力や知的能力が落ちてきて、あまりたくさんのことを同時にキープできなくなる。そうすると自然とプログラミングやライティングのスタイルは変化する。たくさんのものを渡り歩く感じではなく、一つ一つをあるレベルまで固めていく感じ。そう、

2014-08-05 15:41:23
結城浩 @hyuki

そう、それはプログラマにとっての重要なテーマである「局所性」の活用ともいえる。局所的に品質を上げることで、どれだけ大域的な品質を上げることができるかということ。プログラミングってそういう側面がありますよね。人間はそもそもあまり複雑なことを管理できない。だから、

2014-08-05 15:42:47
結城浩 @hyuki

だから、局所的に正しさや有効性を保証しておいて、それを組み合わせることで大域的な正しさや有効性を担保しようとする。それはソフトウェア工学の根底にあると思います。で、

2014-08-05 15:43:34
結城浩 @hyuki

で、自分の知的能力が落ちてくると、まさにこの恩恵にあずかる(活用する)局面があちこちに生じます。自分が見ている一段落、自分が見ている一画面、自分が見ている一ファイル、の中での品質を上げることが、全体の品質を上げることにつながるような体制を作ろうと思う。

2014-08-05 15:44:56
結城浩 @hyuki

それは何を言っているかというと、ある一定の品質のプロダクト(プログラムなり文章なり)を生成するときに、適切な役割分担を人間とコンピュータが行うということです。人間はできるだけ人間しかできないこと(得意なこと)をやる。そしてそれ以外をコンピュータにまかせる。その体制を作るのは…

2014-08-05 15:46:21
結城浩 @hyuki

その体制を作るのは人間のお仕事。そうやって自分の作り出すプロダクトの品質を上げる(保つ)ようなスタイルが大事だと思っている。若いうちはあまりこんなことを気にしなくてもうまく回る。「ちょいとがんばる」だけですごいことがたくさんできる若い人は多い。でも勝負は長丁場である。

2014-08-05 15:47:34
結城浩 @hyuki

自分の能力が落ちてきたとき(そしてまた残酷なことにそれにまっさきに気付くのは自分だ)、どうやってそれを補い、新しい座組を行うか。それはなかなかチャレンジングなテーマだと思いませんか。

2014-08-05 15:48:32
結城浩 @hyuki

高齢社会になってくると、知的な活動をたくさんした経験はあるけれど、自分の衰えに対処できなくなる老人が多くなる(かもしれない)。潜在的な能力は高いけれど、うまく自分のやり方を「変革」させていかないと、どこかで行き詰まるだろう。

2014-08-05 15:49:58
結城浩 @hyuki

幸いなことに、コンピュータは大きく人間の知的能力を助けてくれる。だから、その助けを借りよう。ネットやコミュニティも発達し、ニッチな要求にも関心を持つ人や、解決策を持つ人との繋がりもできるだろう。だから、その助けも借りよう。そうやって、

2014-08-05 15:51:19
結城浩 @hyuki

そうやって、自分にできる知的活動をしっかりやって行きたいなと思う。それ自体が仕事ということもあるけれど、コンピュータとの、あるいはネットを通じた多くの人との知的協力はとっても楽しいんじゃないかなって思うんです。

2014-08-05 15:52:41
結城浩 @hyuki

うわっ、わたしっ、なに連ツイしてんのっ!……仕事に戻ります。じゃーねー!♡

2014-08-05 15:53:21

コメント

ひろ@猫もふ欠乏症 @hiro_h 2014年8月5日
最近はむしろ考えてる事はwikiに落として、tocをアウトライン的に確認しながら書く事が多いかな…エディタでもwikiの記法で書いてる。ところがcodeだとプロジェクトを跨ってtocをアウトライン的に確認、ってやりにくい感じ(IDEにそこまでさせると重い)。それとも、最新の環境だとそうでも無いのかしら。
1