Už je to delší dobu, co jsem zkoumal MessagePack pro moje interní používání - typicky pro komunikaci mezi procesy atd... A přišel mi příliš komplikovaný, takže jsem si nakonec vyvinul vlastní minimalistickou verzi přepisu JSONu do bináru
https://github.com/ondra-novak/imtjson/blob/master/docs/binjson_format.md
Jo asi nebude tak vychytaný, určitě tam není podpora změny endianu, cílem byla rychlá serializace a deserializace - komunikace mezi procesy na stejném stroji nebo mezi stroji na stejné platformě.
Naopak, složitost je dobrý argument. Právě proto třeba někdo preferuje Go před C++ nebo Javu nad Scalou.
Pokud myslel složitost používání API, úplně to chápu. Teď je otázka, zda práce vynaložená na implementaci nové knihovny (nemluvě o protokolu, se kterým cizí program prostě nespojíš, jelikož tam jsou věci jako ondra_common:: atd.), se vyplatí. Ale opět - neberu mu to!
Co s týče složitosti jazyků (když teda pominu, že bych osobně namísto Javy volil Kotlin a místo Go raději Python nebo Rust, pokud by šlo jenom o tyhle "lingvistické preference"), úplně rozumím - proti gustu... Akorát je pak zábavné, že OP přísahá zrovna na C++. ;-)