Arguing against using protobuffers
&gt;<i>Fields with scalar types are always present. Even if you don&#x27;t set them. Did I mention that (at least in proto3) all protobuffers can be zero-initialized with absolutely no data in them?</i><p>I don&#x27;t this complaint. You have to initialize data with <i>something</i>. proto2 had to &quot;solve&quot; this problem in C&#x2F;C++&#x2F;Go by making everything a pointer. How is dealing with null the &quot;sane&quot; case against zero-initialization?