3 ms·
It certainly does look like that. I do think though that we've learned a number of central lessons in the process: - treat messaging as a first class concept,
by Nitramp 6y ago
It certainly does look like that. I do think though that we've learned a number of central lessons in the process:
- treat messaging as a first class concept, not something to hide & abstract away.
- do not attempt to implement polymorphism in a messaging protocol. Do not bind your messaging protocol to a programming language's type system (they serve different purposes).
- bake fundamental monitoring & maintainability concepts into the protocol (e.g. intermediaries must be able to understand what responses are errors).
- have a well understood, simple backwards and forwards compatibility story.
- etc.
All of this is stuff we didn't understand in RMI or CORBA or SOAP etc. REST was a great wakeup call, both in simplicity and some of the messaging protocol concepts (such as error modelling). It is missing the application level binding - there's just no good reason why you wouldn't have a statically checkable method/request/response type binding.
I am a bit weary on whether gRPC will go over board again in complexity. We'll see.
- pjmlp 6y agoSure we did understand it, that is why they used an IDL. independent of programming language's type system. Apparently DCE IDL now comes in proto files. What newcomers did not bother to understand is why we were using those formats in first place. Rest assured, maybe in 20 years we will be introducing this cool RPC protocol, based on YAML on something. Thankfully by then I should be retired.
- Nitramp 6y agoI think IDLs are an important point among many others (I attempted to list some above). I think we might be missing substantial improvements if we'd just say "oh so we're back to a static IDL description, all old is new again". And even within IDLs, we've made major progress. Compare the mess of SOAP's data type system, various attempts at inheritance and polymorphism in SOAP and CORBA, pointers in CORBA etc.
- twic 6y agoWhat's the beef with polymorphism?