Reflection in the C++ version is as bad or worse given that you can't mess around with it in a REPL to figure out how it really works. And the C++ version has most of the namespacing issues (e.g. any field starting with "set_" has potential to clash with another field).
Both implementations are equally bad, despite that they seem to have been written by two separate teams that didn't communicate with each other.
Both implementations are equally bad, despite that they seem to have been written by two separate teams that didn't communicate with each other.