http://www.tommyjp.com/programming/blog-post_1710/

7.プログラミングは大変な仕事です。極めて強度な精神活動です。優秀なプログラマーは年がら年中、仕事のことを考えています。最も重要なコードを、夢の中やシャワールームで生み出すのです。一番大事な仕事はキーボードから離れたところで行われます。したがって、ソフトウェアのプロジェクトは、オフィスにいる時間を長くしたり人を増やしたりすることでスピードを上げることはできないのです。

実に言い得て妙とな話ですよ。
発想はタイミングなので、ブレイクスルーが閃くのに「どこ」ってのは重要ではない、んですが、確かに「いつもの処」ってのはありますからなぁ。
ワシなら、スポクラとか本屋か。


で、とみに重要なのは、思いついてもすぐに実装「出来ない」環境で思いついたコードほど、実際の実装が洗練されると言うことですか。
実際に打ち込まれたコードにしてしまうと固着化しちゃうから、そこからはコンパイラが通るかだのロジック(もしくは設計)の小手先の修正に終始しちゃう訳で。だから、しがらみのない頭の中にあるうちに組み替えて展開して飛躍させて入れ替えて収斂させておくと、より単純で美しい形に仕上がる、という。


だから個人的には、「出先でも思いついたらすぐにコーディングできます」的なモバイルデバイスのCMはどうにもアレでね。
元々ブレイクスルーが必要なコードって、アーキテクチャの根幹に関わる物が大半なので、一度決めたら後はどんどん展開されるシロモノなわけで(縦横どころか別プロジェクトにさえも)、それを移動時間の中で思いついてその場でコーディングしたレベルの出来で果たして***できるのかっちゅう‥‥