汎用データフォーマットにたいする雑感
- フォーマットの変更は、ユーザーに対して基本的に不利益をあたえる
- バージョン情報が含まれているフォーマットならば問題はすくない
- ユーザーはなにも考えたくないから汎用フォーマットをつかう
- できるだけなにも考えたくないゆるふわプログラマーがほとんどなのです
- YAML をみよ
- バージョンの差異と、プラットフォームごとの実装の非互換によってわけわかめである
- 初期の時点でまともに実装できている処理系がすくなかった
- バージョン2を現在まともに処理できているのは libyaml ぐらいではないか?
- これはフォーマットの複雑さによるところが大きい
- 1のライブラリと2のライブラリ、ユーザーには見分けがつかない状況
- YAML::XS が2 で YAML.pm が 1 とどうしてわかる?
- 非互換や、ユーザーのプログラムがこわれる変更は、まあなしね。
- Data::MessagePack2 とかがでたときに、たとえば AnyEvent::MPRPC とかそういう依存モジュールはどうしたもんかなー。MessagePack に依存してるモジュールはすべて2系統うごかすの? どうするのかなー。
なんか Twitter で msgpack 関連のおいきれてないので、なんとなくおもったことをかいておいた。
kazuho さんとか miyagawa さんとかが考えてくれてるし、gfx が実装してくれてるので、あまり議論には積極的に参加していません。