プログラミングを,自分の頭(と手とキーボード・マウス)とパソコンのやりとりだけにしていませんか?
それでは非効率です.コンピュータの持つ豊富な機能を活用しましょう.
ここで,「自分の頭」を含め,ツールとその使い分けを整理してみました.なお,コマンド実行は,Linuxのシェルなど(bash,zsh,irb*1,psql)を想定しています.
- 自分の頭: 短期記憶と複雑な情報処理に適しています.ただし,脳内処理結果が正しいという保証はないので慢心のないように.プログラミングを通じて,その場限りの問題解決というだけでなく,知識や能力を向上させるという意識も,忘れずにしたいものです.
- コマンドライン履歴: 「ヒストリ」とも言います.コマンドは,毎回律儀に打ち込むべきではありません.上下左右の矢印を使えるようにし,慣れてきたら,HomeとEnd,コマンドラインのカット・ペースト,Ctrl+r,Alt+p,Alt+. も使えるようにしてください.
- プログラム作成環境: Emacsやhttp://sakura_editor.at.infoseek.co.jp/などのテキストエディタでも,Eclipseに代表される統合開発環境でもかまいません.そしてこういったツールは「手になじませる」ことが不可欠です.具体的には,ショートカットキーを覚え,文書編集を効率よくするようなマクロやプラグインを積極的に取り入れることです.ふだんから小さなプログラムを作るのもいいですね.
- メモ取り用のテキストエディタ: Emacsなどでもかまいませんが,上の「プログラム作成環境」とは別ウィンドウにします*2.ここには「実施したこと」と「実行した重要なコマンド」を書いておきます.コマンドは,プロンプトを含めて書きます.後でそれがシェルのコマンドか*3,irbか,psqlかなどが容易に判別できます.
- メモ用紙: 思いついたアイデアを図に描いたり,雑多な情報を整理・分類したりするには,今のドローイングソフトウェアではまだ非効率に思えます.ここは紙と鉛筆です.ただし,メモ用紙は「その場限りのメモ」です.複数日かけてプログラムを作るときは,テキストファイルに転記しましょう.