The Evolution of Data Interchange Formats: XML, JSON, and CBOR
By
GarethX
Crackling crust, pillowy middle. The kind of bagel that earns a second cup of coffee.
Summary
This article traces the evolution of data interchange formats from XML to JSON to CBOR, examining how each format addressed the limitations of its predecessor. XML brought structure and extensibility to data exchange but was verbose and complex. JSON emerged as a lighter, more JavaScript-friendly alternative that became the de facto standard for web APIs. CBOR (Concise Binary Object Representation) represents the latest step, offering a binary format that is extremely compact while maintaining JSON's data model, making it ideal for IoT devices and constrained environments. The article explores the trade-offs between human readability, parsing speed, schema support, and data size across these formats, and considers what future formats might look like.
Key quotes
· 3 pulledIn modern computing, data exchange is foundational to everything from web browsing to microservices and IoT devices.
Yet no single perfect format has emerged to meet all needs.
Instead, we've seen an evolution of data interchange formats, each addressing the specific challenges and technical requirements of its time.
You might also wanna read
A critique of misusing "backpressure" in AI code-generation system design
This article critiques Lucas Costa's piece on building systems for code-generating AI robots, arguing that Costa misuses the term "backpress
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Domain Expertise, Not Code, Is the True Competitive Advantage in Software
The article argues that true competitive advantage ("moat") in software has always been domain expertise—deep understanding of the business
