思考のコンストレイント
viを極めたら、悟りプロトコルが使えるようになるらしい。
そんなうわさとはまったく関係ないが、viが苦手である。せいぜい、設定ファイルをちょっと触りたいときにtelnet経由で動かす程度だ。コマンドもiとxと:wqぐらいしか使わない。カーソルキーを使わないなんてことは言語道断である。と、LPIC レベル2にふさわしくない発言をしてみる。
そのviでC言語を書く。
いくら、独学でC言語をやりなおそうと思ってもviで、というワケにはいかないだろう。フツーそんな発想はしない。
しかし、教室の中で矢印キーを使うことは万死に値する。
さすが大学院。やることがアカデミックじゃないか。
■インバース・キネマティックス
シンプルなエディタを使うと、普段使っている使うIDEにどれだけラクをさせてもらっているのかがよく分かる。やれeclipseだ、やれVisal Studioだとほざいている場合ではない。そういえば、テキストエディタしか使えない開発現場もあった。そのときはキツいと感じたが、それどころではない。正直、コマンドモードとか、ウゼぇ。
頭の中のリソースがviの操作に奪われて、プログラムに集中できない。しかし、人間とは不思議なもの。使い込んでいるうちに少しずつ慣れてくる。なんとなくコツのようなものが分かってきた。
コマンドモードを使わない方向にしてみた。もちろん間違っているのは知っている。授業のスピードについていこうと思えばコマンドモード、入力モードの切り替えとかを悠長にしているヒマはない。現実解としての選択。「今は」こっちの方が早い。
習うより慣れろ、というコトバがあるが、この場合、慣れるより逃げろだ。
■フォワード・キネマティックス
IDEではtypoも気にせずにガシガシと打ち込む、ミスに気付いた瞬間に直す、というスタイルで入力していた。viでは慎重にミスのないように確実にゆっくりとひたすら丁寧に。すると、プログラムの組み方に変化が現れる。いままでのように、指先の赴くままに実装、コーディングしながらプログラム設計をしなくなった。
ある程度、頭の中で完成したコードがみえてから入力する。あるいは、紙にスケルトンを書いてからコーディング、というスタイルに自然となってしまった。適当に変数名をつけるなんてことはしない。ここには、リファクタリングなどというステキ機能はないのだ。ネーミングはじっくりと考えてる。
2次元から1次元へ。縦横無尽にテキストエディタ上を駆け巡っていた思考が、一直線になる。シリアライズされていく感覚を覚えた。環境がスタイルを変えていく。
■レイトレース
モーツァルトの作曲スタイルはいかにも彼らしい。五線譜の上でオタマジャクシを書いたり消したりして悩むことはしない。頭の中に完璧な旋律と伴奏があって、五線譜に書くときは何も考えない。ただ、内にあるメロディをそのまま書き出しているだけだという。
もちろん、楽聖と自分を並べるつもりはない。新しい世界に身をおくことは、パターン化されたスタイルを打破する有効な手法であろう。慣れない環境のなかで新しい発見があったことがうれしいと思う。
viでプログラミングをする。何年もかけて身についたコーディングスタイルでさえ、こんな簡単なことで、一瞬で変わってしまうのだ。
“Hello World!”
新しい世界よ、コンニチハ。
■ラジオシティ
とはいえ、弱点をほったらかしにはしない。オライリーのvi入門をゲットする。はやく、悟りとコネクトして次の世界をみたい。
どこか遠くからレベルアップを告げるアラート音が鳴り響く……。
【本日のスキル】
- コラムニストスキル:レベル30
- 象牙の塔スキル:レベル10
- 想像力を鍛えるスキル:レベル7
- イノベーションスキル:レベル1
- コツコツするスキル:レベル3
コメント
はがねさん、こんばんは。
オライリーのVi入門も、持っていましたが、売りに出しました。代わって、技術評論社の「Linuxコマンドリファレンス」も役立ちますよ。(表紙裏にviのあんちょこが載っています)
確かにコツコツするスキルはつきますねえ~。僕なんかはいーっとなってくるんですが、環境上、やむを得ませんね。
次週、ハチロク世代を迎え撃つ「教官」のつぶやき、岑さんの記事と連動しています。こうご期待!! ……って言っている間に、情報処理技術者試験(AP)ですけども(滝汗)では~。