Why to use Message Passing?

Why bother to develop everything asynchronously?

Well, you don't have to.

devel.one can be integrated wonderfully into a normal synchronous program. Now you can easily interact with other programs. Communication, e. g. in client/server programming, is completed in no time at all. Wherever you exchange data between processes, you can quickly implement a target on both sides, which makes messaging a reality. The outsourcing of finished program parts to other computers is therefore implemented very quickly. The conventional and synchronously programmed blocks can be of any size. So you don't have to get used to it.

But once you've started with it....

OSGi programmers have always known this way of programming. They offer interfaces for services that anyone can use in a local program. The implementation is always hidden. This makes sense because services can change quickly inside. However, the customer contract (the interface) remains the same.

We have a similar situation when it comes to messaging. In addition, we have here the distribution of the code to other locations. And we no longer have rigid interfaces, but rather loose ties via messages so that different versions can still work together.

This enables us to design small services or microservices. The "small" is intended here: the smaller the services, the higher the reuse of the code. And recycling is hard cash in large projects. You can even change the programming language and still use the valuable code.

And there is something else about "small" services: they are manageable in their function, so that the code can be quickly maintained and taken over by other programmers. This also saves a lot of money through reuse.

The code looks very similar everywhere. We see whole landscapes of message handlers here. For our customers, this was also an important criterion for the easy training of new employees.

Another advantage is the similarity of message sequences with UML sequence diagrams. There are customers who use message tracking to automatically compare target sequences with actual sequences for quality assurance purposes.

You just have to combine some imagination with initiative....