&gt; On the other hand a binary-based object-oriented approach can give better performance and make it easier to parse data<p>please, no. OOP approach means that my process needs to know how to communicate with other processes via very specific protocols, which aren&#x27;t very well defined (any process could describe its type of object). This is the exact opposite of flexibility. The usefullness of tools like grep or sed would drop drastically, and we would fall back to big blobs of software.<p>Since I&#x27;m just passing data, do I really need the behavior attached to it?
How would state persistence be handled?<p>The text (bytes as ASCII until line ending) approach may seem ugly and dirty, but in fact you can pass list, tuples, maps, trees or just text and is up to the receiver the responsibility to make sense out of the data.<p>Need data from A but B can&#x27;t understand it? Use C (which operate on text) to format A&#x27;s output as B needs. With object how many &quot;translator&quot; (C in the example) would you need to acheive the same result?