You generally won’t apply this to distributed systems.
Arun Sasidharan

I was thinking about this a little bit, you could always return values for distributed calls, but do a multiple return value approach like what you do in Go:

err := someStatefulCall(…)
result, err := someStatelessCall(…)

In Java/C++ you could do some sort of generic return value like ErrorOr<ReturnType>.

Of course you’d still need to worry about excessive network calls, so you’d be more permissive in breaking OO guidelines.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.