プリミティブ型を作ったのはJavaの選択であって、厄介なのはみんな知っているハズだから、プリミティブ型だけ挙動が違っても許されそうな気もする。
2010-11-08 03:47:21msgpack-java版が出来てきたので、msgpackのhadoop family向けlibraryを書いているのです. 楽しい:-)
2010-11-08 03:51:17@muga_nishizawa String型のフィールドにnullが入っているとpackできない問題が発生…今のところ、"参照型は"デフォルトでoptionalにしてしまう案が有力ですが、Javaの文化的にはどうでしょ? http://bit.ly/91S7cL
2010-11-08 03:54:07.@muga_nishizawa デフォルトでoptionalだと、バージョンアップでフィールドを新しく追加するときに、わざわざMessagePackOptionalを付けなくて済む(付け忘れる問題が発生しない)利点もあります。
2010-11-08 03:55:39.@muga_nishizawa 一方デメリットは、明示的にMessagePackRequiredのようなアノテーションを付け忘れると、思わずnullが入っていて気づかない可能性がある点(まぁJavaユーザーなら気をつけろょという話も…)と、
2010-11-08 03:57:16.@muga_nishizawa プリミティブ型はデフォルトでrequiredなので混乱しやすい点(そもそもJavaにプリミティブ型があるのが混乱を招いているワケでMessagePackのせいじゃない…)と、
2010-11-08 03:58:24.@muga_nishizawa optionalは配列の要素に明示的にnilが入っているケースだけでなく、要素数が足りない配列も受け入れるので、(明示的にrequiredを指定しない限りは)空の配列からのデシリアライズに成功してしまう(ユーザーの想定に反して)点、あたりです。
2010-11-08 04:00:57@frsyuki MessagePackは言語ニュートラルだけど,それぞれの言語で最善のパフォーマンスを目指してるはずなので,その言語に合わせた設計にすればいいんじゃないかと思うよ!
2010-11-08 04:00:04まさにその通り! RT @repeatedly: @frsyuki MessagePackは言語ニュートラルだけど,それぞれの言語で最善のパフォーマンスを目指してるはずなので,その言語に合わせた設計にすればいいんじゃないかと思うよ!
2010-11-08 04:02:12