When you start out doing RPC you think, I don’t want to bother with schemas, I don’t want to bother with hierarchical error codes, I don’t foresee the need to set the user’s password but not retrieve it. So you don’t want to bother with a technology which makes your life more difficult, to solve problems you don’t have and cannot foresee.
So you choose something simple. But you run into all these problems anyway, because they exist, no matter if you were capable of foreseeing them or not.
But by then it’s too late. You’ve written 50 KLOC and you just have to keep going.
I believe this is why many technologies become popular which are actually too simple to handle the types of problems they try to solve.
I blogged about this concept here: https://www.databasesandlife.com/the-cycle-of-programming-la...