I vantaggi del binario: dimensioni più piccole e serializzazione più rapida (de). Le dimensioni ridotte possono anche significare trasmissioni più veloci, soprattutto se utilizzi una rete lenta (ad es. Mobile).
Certo, il programmatore potrebbe avere altro lavoro da fare ma ciò dipende dalla libreria utilizzata per eseguire la serializzazione. Se stai usando una libreria JSON o XML per fare questo, mi aspetto che tu possa sostituire gli interni di quella libreria con un protocollo binario e nemmeno notare la modifica. (in effetti, lo so, l'abbiamo fatto una volta, la nostra libreria di serializzazione era XML, quando abbiamo sostituito l'oggetto con una versione binaria, le prestazioni generali del nostro programma sono aumentate del 20%).
Mi aspetto che l'unico vero vantaggio di JSON o XML sia che un essere umano può leggere i dati mentre è serializzato. Se questo è davvero utile dipende se stai usando i dati per l'archiviazione o solo per la comunicazione. Anche in questo caso, crea uno strumento per mostrarti i contenuti.
Per inciso, il formato CSV è ancora altrettanto negativo - la divisione è fondamentalmente tra una qualche forma di formato testuale o una binario. Data la scelta tra csv, xml o json ... dovrei dire "quali sono i dati memorizzati", csv può essere un'ottima scelta per molti dati, specialmente perché hai già uno strumento per manipolarli (un foglio di calcolo ) o per importarlo in un database. Se i dati sono gerarchici in qualche modo (ad esempio un grafico o un albero), allora csv non è una buona scelta.