Re: java serialization alternative

Bob Lee <[email protected]> Wed, 9 Jul 2008 10:21:38 -0700
Newsgroups gmane.comp.windows.devel.java.advanced
Message-ID <[email protected]>
First off, I'm not a fanboy of anything, and I haven't drank any kool-ade.
Have you ever known me to be dogmatic about anything?

2008/7/9 Ted Neward <[email protected]>:

> Odd. I can't remember the last time Serialization caused either my feet to
> fall off, or my code to throw a runtime exception at the worst possible
> moment.
>

That's probably because you're smart enough to not use serialization for
anything non-trivial. I wasn't so smart and still support major applications
which heavily depend upon serialization.

You can't accuse me of not knowing serialization. I know the spec inside and
out. As the core lib lead for Android, I've had to implement serialization
itself (thanks for the help, Harmony!). I was the first to implement
serialization support for cglib proxies. Out of necessity as a user, I've
implemented tools for debugging and unit testing serializable code (
http://tinyurl.com/63g5hj). How anyone lived without traces for
serialization exceptions before Java 6 is beyond me.

I'm certainly not the only one who thinks this way about serialization--take
a poll. I'm just the only one stupid enough to argue with Jeff.

If Google wants to reinvent Serialization in a more statically-bound,
> strongly-typed format, there are obviously cases where they found it
> useful,
> and more power to them, particularly given that they've given it away to
> the
> rest of the world. Perhaps Google will play nicely in the Java community
> and
> open a JSR to include PB's into the JDK 7 release; perhaps not, and perhaps
> that doesn't make a whit of difference.


I care about the approach, not the implementation. Use Thrift, or OR
mapping, or XML binding, or whatever for all I care. FWIW, tools like
Terracotta appear to have similar problems to serialization.


> But watching you two bicker over
> something trite that essentially reflects the fact that each of you has
> drunk different Kool-Ade is really quite an inefficient use of bandwidth
> and
>
time.
>

This is analogous to a static vs dynamically typed language debate. It's
simple: if you care about maintainability, use a statically typed language
and a statically typed serialization framework. If you don't, use Python and
flattening.

And yes, I'm grumpy, because this is just the tip of the iceberg. Now I get
> to watch dozens upon dozens upon hundreds of "PBs vs. Serialization vs.
> XML"
> debates that will--all of them--reflect nothing more than the inherent
> biases and fanboi-isms of their blog authors, when in fact the comparison
> is
> apples vs. oranges vs. coconuts, and nobody will want to stop the shouting
> long enough to realize that.


You're right, "PBs vs. Serialization vs. XML" is an "apples vs. oranges"
comparison. PBs can produce and consume XML for example.

Bob

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com