Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>In that case, I would imagine you would struggle with any clients generated via an IDL. The same "issue" occurs with openapi/swagger generated clients.

Sometimes. Only sometimes. And that doesn't mean it's not a problem there either.

Abstractions that completely abstract what they wrap can claim "no need to look under the hood", but generated RPC code fails miserably there when something fails or changes, particularly during code generation (where you can't usually even get partial data / intermediate state, just "it crashed in this core loop that is executed tens of thousands of times, good luck").

And on this front, protobuf and gRPC are rather bad. Breaking changes are somewhat frequent, almost never have a breaking semver change so they surprise everyone, and for some languages (e.g. Go) they cannot coexist with the previous versions.

Figuring out what broke, why, and how to work around or fix or just live with it is made vastly more difficult by unreadable generated code.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: