大きなテーブルへのForeignKeyにはraw_id_admin=True「どう書く?org」(ベータ版)を公開しましたどう書く?orgというサービスを公開しました。ご存じの方もいらっしゃるかもしれません。そこでこの記事では今まで語ってこなかった「どうして『どう書くorg』を作ろうと考えたのか」について解説したいと思います。rubyco(るびこ)の日記でした。言語Yではドキュメントをひっかきまわして探さないといけない」というフラストレーションなわけです。そのフラストレーションを避ける気持ちが、プログラマを「自分が一番慣れている言語」という檻に閉じこめるのです。プログラミング言語間の対訳があれば、殻を破ってマルチリンガルの大空に羽ばたくことができるのに。考えPukiWikiで集積サイトを作りました。「これは絶対に盛り上がらない」と判断して公開しませんでした。単なるWikiではコードを書いてもらうインセンティブに欠けると思いました。その後、どういう流れがあったのかは正確には覚えていません。ようなアプローチをもったいないと感じるようになりました。お題に対してコードを書いている人のほとんどは、そのコードの再利用を禁止したいとは思っていないはずです。許可を明示的に取らないせいで実質的に再利用できずに散逸させてしまっています。無償でいろいろな言語のコードを書いてもらうことができているのに。これはとてももったいないことです。このようにして「どう書くorg」の三本柱「マルチリンガル志向」「お題にチャレンジ」「再利用可能なライセンス」ができました。みなさんのおかげで、7月頭にどう書くorgを公開してから今までの4ヶ月弱で、2796件のコードが投稿されています。1日平均20件以上という計算になります。今後の課題は、こうやって集まったコードをどう加工するかだと思います。3ヶ月も前に実装したのですが、これは現状の「お題と解答」というシステムではコードの粒度が大きすぎてなかなか望み通りのものが得られません。ついたので、次は「同じお題で使われることの多いモジュールは似た機能のモジュール」というような推定でしょうか。集まった「自由に再利用できる」コードは他のプロジェクトの肥やしになるはずです。進めるところまで進んでみるのが正解かな、と思っています。昔話や妄想を書きつづってきましたが、まとめたいと思います。書くorgは今まで「出されたお題をいかに解くか競い合う、プログラマのためのコロシアム」と名乗っていました。「プログラマのためのコロシアム」なのは手段であって目的ではありません。書くorgの目的は「マルチリンガル・クックブック」を自然発生させることなのです。新しい言語Xを使おうと決めます。