Interesting that you say that because long-term storage of data and communication between distributed components are exactly what I use serialization for. Note that communication between components almost automatically implies version mismatch in lots of production systems exactly because you can't update all components simultaneously.
Systems like Avro, Thrift, Protobufs and Kryo all exist precisely because native serialization is so terribly broken. On Sat, Feb 11, 2012 at 1:26 AM, Luc Maisonobe <luc.maison...@free.fr>wrote: > Maintaining serialization maintainance is hard only if you want to be > able to deserialized with version n something that was serialized with > version p. This situation appears either if you use serialization for > long term storage or if you have a distributed application with two > parts using different levels. The first case is a wrong use of > serialization. The second case can be simply declared to be unsupported. >