Request for review - std.serialization (orange)

Francois Chabot francois at chabs.ca
Mon Jun 17 07:39:07 PDT 2013


>> My point is that serializing POD-based structures in D is so 
>> simple that
>> using a one-size-fit-all serializer made to handle absolutely 
>> everything
>> feels very wasteful.
>
> You don't have to use it.

But I do use it, quite a bit. Whenever I have any form of 
polymorphic serialization, Orange is excellent. I find myself 
effectively choosing between two serialization libraries based on 
my needs right now, which is actually a very good thing.

The issue here is not whether I should be using Orange or not in 
a given project, but whether it should become std.serialization. 
If that happens, then I will find myself "forced" to use it, the 
same way I should be "forced" to use std::vector in C++ unless I 
am dealing with a truly exceptional situation.

But serializing data to send on a socket efficiently should NOT 
be treated as an exceptional case. If anything, I think it should 
be the base case. If/When std.serialization exists, then it will 
effectively become the goto serialization mechanism for any D 
newcomer, and it really should handle that case efficiently and 
elegantly IMHO.

I will grant that making Orange part of Phobos will alleviate the 
project bloat issue, which is a huge deal. But as it stands, to 
me, it only handles a subset of what std.serialization should.


More information about the Digitalmars-d mailing list