I used gRPC for numerous hobby projects during my undergrad to glue together binaries running in different languages (e.g. a simulation server running in C++ and a scripting client in Python). By passing around a shared data structure (Protobufs), one does not need to waste time writing serialization/de-serialization adapters. It is also useful for gluing together microservices.
FB's Thrift also solves the same problem, and is an alternative to gRPC.
FB's Thrift also solves the same problem, and is an alternative to gRPC.