考え先日の「PythonのWebフレームワーク6種をかんたんに紹介」で、1ファイルでできているWebフレームワーク「Bottle」について、私はこのように書いた。<「bottle.py」という1ファイルだけでできている。環境構築が不要なので、Python入門に最適。1ファイルに全部入っているので、組み込むのも容易だし、依存リスクもないので、実用にもいいと思う。これだけシンプルなのは、生存戦略としても強い>。最近、自分用に作っているアプリケーションで、この1ファイルに全部詰め込む方式を試してみたところ、思いのほかいい感じになった。1ファイル方式は、Bottleのようなフレームワークの場合、「環境構築がいらないのでカンタン」「(組み込んでしまえば)依存リスクがない」といったメリットがある。フレームワークでなく、アプリケーションであっても、1ファイル方式はけっこういい、ということがわかった。1ファイルだと、プログラミングのとき、あちこちのファイルにいちいち飛ばなくてもいいのだ。そんなことは当然である。私も、そんなことはわかっていたつもりだった。これまで、なんでもかんでも1ファイルに詰め込めばいい、と考えたことはなかったので、実際にやってみたことはなかった。それを実際にやってみて、「これはかなりいいぞ」という実感を得たのだ。1ファイルに全部詰め込むので、規模があるていど以上のアプリケーションの場合は、やはり無理だろう。ファイルを分ける通常の構成にしたときに、10か20くらいまでの規模が限界だと思う。複数人で開発する体制の場合は、役割によってモジュールを分ける普通の構成のほうが、バージョン管理などもしやすいだろう。逆にいえば、ファイル数が10か20くらいまでの規模で、1人で作る場合は、むしろ1ファイルに詰め込んでしまったほうが効率がいい、ということは十分ありえると思う。1ファイルに詰め込むと、プログラミングのとき、あちこちのファイルに飛ぶというコストがなくなる。これがほんとうに大きい。Pythonではimport文にあたる、別のモジュールを取り込む指定も不要になる。「モジュールの依存関係」というものがなくなるのだ。これもけっこう大きい。1ファイル方式は、1ファイルが長くなるけれども、そこに全部入っているので、アプリケーションの「全体感」がつかみやすい。「これで全部だ」という安心感みたいなものがある。アタマではわかっていたつもりでも、実際にやってみるとだいぶ違う、ということはよくある。この「1ファイル方式」は、まさにそれだった。なんでも、実際にやってみるまでは、わからないものだ。ウェブサイトとは、「URLを入れると、HTMLが出てくる機械」であるこのサイトについてアーカイブタグ。