There is no alternative to messaging. Your only choice is good messaging or bad messaging.
Mostly, sure. But sometimes, when you’ve got very good messaging beneath, it becomes possible to see new patterns of communication in the aggregate. Shared memory, for example.
As I was just writing to someone in private email, if you do REST properly, you end up with a system which exhibits the properties of both messaging and shared memory styles, depending upon the configuration of the architecture you’re examining (obviously), but also depending upon how you look at it; sometimes I see distributed objects with a uniform interface (the messaging view), and sometimes I see interconnected pools of data (the shared memory view), and both are perfectly valid and complementary ways of looking at a single configuration. Some have referred to this duopoly as “Bees and Ants”.