I'm not convinced that changing the code in a way that affects the
style, reduces language features (that are used), forces us back to a
25-year-old language specification, just so we can share code with an
entirely different language is worth it. It reduces the overhead of
making a C++ package, but it doesn't guarantee the API will be any
good (which is IMO the most important thing to consider). Indeed, one
huge reason CK is great is because it has a great API. I'm not in
favor of anything that would change the API (and make me have to
revert to C89-isms in my own C99 code consuming CK). I'm doubly not in
favor if such a change is only for getting stuff out the door quicker.
I am not a C++ programmer and I really doubt I ever will be one at
this point. At least not a good one. I don't know the idioms and I
don't really care to learn them. So such a change increases the
complexity of contributing to CK. All of a sudden, I need to know how
my C code affects people targeting C++ (because I'm sure that it's a
little more involved than simply switching to C89). I also don't know
idiomatic C++. If I am to contribute more, I really need to not be
able to screw up anything about the C++ code or its API.
Of course it's primarily your project and I've contributed very little
in terms of code compared to you and other contributors, so I realize
I have very little to say here. Up to you. I'd prefer to not sacrifice
readability and used features just to reduce effort to port the
functionality to an entirely different language. I feel like the best
way to do this is to provide separate C++ implementation. It is within
the goals of the project, and it provides precedence to allowing other
contributors to make idiomatic ports for other languages as well.
--dho