&gt; And let&#x27;s not forget: JSON and XML have some significant advantages over most other serialization formats. They&#x27;re ubiquitous. Practically every programming language has libraries to parse and generate them.<p>One of the interesting things about Erlang is it has binary pattern matching. Matching any binary in it is just as trivial or even more trivial than parsing json in other langauges.<p>Here is what an IP packet parsing might look like:<p><pre><code>    &lt;&lt;4:4, HeaderLength:4, _DiffServ:8, _Length:16, _Identification:16,
      _Flags:3, _FragOffset:13, _TTL:8, Protocol:8, _HeaderChecksum:16,
      SrcAddr:32&#x2F;bits, DstAddr:32&#x2F;bits, OptionsAndData&#x2F;bytes&gt;&gt;
</code></pre>
It looks almost like casting a binary blob to a C struct, but you can do even crazier things like take Length and match it later in the pattern, if it specifies a length prefixed binary, for example.<p>&gt; the difference in data usage would scarcely be measurable<p>It depends. See, Joe&#x27;s background is from Ericsson. Their stuff controls access of 50% of world&#x27;s smartphone &lt;-&gt; internet traffic. When people say &quot;but who uses functional languages in the industry?&quot; the answer is if functional languages won&#x27;t work, chances are high, you won&#x27;t see picture of cats on your smartphone.<p>But the idea is that mobile bandwith is still a precious resourse. Even if our CPU and hard drives are getting bigger. That is one shared resource that is expensive. Maybe if a 1M clients use JSON vs a binary protocol doesn&#x27;t make a difference much for some startup, when we talk about billions of connected devices talking over radio waves, those things add up. Well, also, game servers use UDP and binary often because of latency. Facebook knows a thing or two about chatting with lots of users, so they use Flatbuffers <a href="https:&#x2F;&#x2F;code.facebook.com&#x2F;posts&#x2F;872547912839369&#x2F;improving-facebook-s-performance-on-android-with-flatbuffers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;code.facebook.com&#x2F;posts&#x2F;872547912839369&#x2F;improving-fa...</a> that&#x27;s binary as well.