[personal profile] omnifarious

I have a problem for which protocol buffers seem like a good solution, but I'm reluctant to use them. First, protocol buffers include facilities for handling the addition of new fields in the future. This adds a small amount to a typical protocol buffer message, but it's a facility I do not need.

Also, I feel the variable sized number encoding is less efficient than it could be, though this is a very minor issue. I also feel like I have a number of special purpose data types that are not adequately represented.

I'm also not completely pleased with the C++ and/or Python APIs. I think they contain too many googlisms. I would like to see public APIs published that were free of adherence to Google coding standards like do-nothing constructors and no exceptions.

I think, maybe, I will be using protocol buffers for some messages that are sent by applications using CAKE as a transport/session layer. These include some of the sub-protocols that are required to be implemented by a conforming CAKE implementation.

On a different note, I think Google's C++ coding standards are lowering the overall quality of Open Source C++ code. This isn't a huge effect, but it's there.

It happens because Google's good name is associated with a set of published standards for C++ coding that include advice that while possibly good for Google internally is of dubious quality as general purpose advice. It also happens because when Google releases code for their internal tools to the Open Source community, these tools follow Google's standards. And some of these standards have the effect of making it hard to use code that doesn't comply with those standards in conjunction with code that does.

Date: 2010-12-05 02:27 am (UTC)
From: [personal profile] sfllaw
Aren't there exceedingly good reasons to have do-nothing constructors and no exceptions? I recall, back when I did C++, that this was the exact behaviour you wanted to have sane C++ programs.

In any event, you could wrap a C-with-Classes-style library with a facade that provides the kind of C++ conveniences that you want. No? And it's nice that this library would let you get away without needing any shoot-yourself-in-the-foot features.

Profile

Lover of ideas

November 2012

S M T W T F S
    123
45678910
11121314151617
18 192021222324
252627282930 

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2014 10:39 am
Powered by Dreamwidth Studios