Lesson 083

Serialization & Data Formats

Objects → Bytes → Objects

1:00

How in-memory objects are flattened into bytes for files, networks, and IPC — and how JSON, CSV, Protobuf, and their quirks determine what survives the trip.

By the end, you can

  • Explain why in-memory pointers are meaningless outside their process and why that forces data to be flattened into a self-contained byte stream before it can be stored or sent.
  • Trace the full round-trip pipeline: object → serialize → transmit → deserialize → clone.
  • Distinguish text formats (JSON, CSV, XML/YAML) from binary formats (Protobuf, MessagePack, Avro) in terms of human-readability, size on the wire, and parse speed.
  • Apply the RFC 4180 quoting rules to handle commas and double quotes inside CSV fields.
  • State the byte-order difference between big-endian (network order) and little-endian (most x86/ARM hosts), and explain why a shared convention is required for data exchanged between machines.
  • Identify the two major fidelity pitfalls of JSON: no native date type, and no distinction between integers and floats (all numbers are IEEE-754 doubles, so integers above 2⁵³ lose precision).
  • Explain the Protobuf field-numbering contract and why field numbers must never be reused or changed once assigned, so that old and new versions of the schema stay forward- and backward-compatible.
  • Choose between a text format and a binary format given a concrete use-case description.
Up next in Math, Memory & Files
Questions or feedback?