There exists a peculiar amnesia in software engineering regarding XML. Mention it in most circles and you will receive knowing smiles, dismissive waves, the sort of patronizing acknowledgment reserved for technologies deemed passé. “Oh, XML,” they say, as if the very syllables carry the weight of obsolescence. “We use JSON now. Much cleaner.”

  • unique_hemp@discuss.tchncs.de
    link
    fedilink
    arrow-up
    8
    arrow-down
    2
    ·
    18 hours ago

    CSV >>> JSON when dealing with large tabular data:

    1. Can be parsed row by row
    2. Does not repeat column names, more complicated (so slower) to parse

    1 can be solved with JSONL, but 2 is unavoidable.

    • entwine@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 hours ago
      {
          "columns": ["id", "name", "age"],
          "rows": [
              [1, "bob", 44], [2, "alice", 7], ...
          ]
      }
      

      There ya go, problem solved without the unparseable ambiguity of CSV

      Please stop using CSV.

    • flying_sheep@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      7 hours ago

      No:

      • CSV isn’t good for anything unless you exactly specify the dialect. CSV is unstandardized, so you can’t parse arbitrary CSV files correctly.
      • you don’t have to serialize tables to JSON in the “list of named records” format

      Just user Zarr or so for array data. A table with more than 200 rows isn’t ”human readable” anyway.

    • abruptly8951@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      13 hours ago

      Yes…but compression

      And with csv you just gotta pray that you’re parser parses the same as their writer…and that their writer was correctly implemented…and they set the settings correctly

      • unique_hemp@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        8 hours ago

        Compression adds another layer of complexity for parsing.

        JSON can also have configuration mismatch problems. Main one that comes to mind is case (in)sensitivity for keys.

        • abruptly8951@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          7 hours ago

          Nahh your nitpicking there, large csvs are gonna be compressed anyways

          In practice I’ve never met a Json I cant parse, every second csv is unparseable