Hacker News new | ask | show | jobs
by lstroud 3346 days ago
Stub generation? Remote access protocols? CORBA all over again?

So, now I know the next big thing. Portable distributed objects. :-P

5 comments

It's wrong to assume that just because gRPC shares some design features with CORBA that it shares every CORBA feature or every CORBA shortcoming.

There have been technologies to generate stubs, skeletons, and protocols from specification files for at least 30 years. Some of the older designs sprung out of a client/server world, whereas newer designs deal with today's reality, e.g. interoperability with today's web and the need for horizontal scalability.

What hasn't changed is that it's still useful to describe a communication protocol in a declarative way and then rely on a code generator to provide the code to work with that protocol.

Google protocol buffers offer advantages beyond that, but you may need to look beyond any preconceived CORBA biases to appreciate them.

CORBA tried to make remote calls look local. Making them look remote (and potentially even making some local calls look remote) is a very different design principle that leaks through almost every bit of the standard, and definitely leaks through to every bit of the implementation.
It's funny to complain about CORBA's local/remote muddling in 2017 when we have moved on to microservices that also talk to each other locally with TCP/IP.
CORBA was superior in terms that it had distributed two phase commit protocol, which gRPC doesn't have, and which is very critical in banking/finance industry.
... on the Blockchain!
Or AMF, everybody forgot about Flash and AMF?