The history of document file formats:
-
The history of document file formats:
1980s: I'm going to design my own proprietary binary file format using my own proprietary disk format for this one proprietary computer vendor
1990s: I'm going to design this really efficient binary file format for use on all computers. It won't be documented, but it'll be reverse-engineered without TOO much trouble.
2000s: I'm just going to schlep all of the data structures in memory into an eldritch-horror XML format and encapsulate that into a zip file. I'll have our imps, I mean, engineers create a script to convert parts of the source code into an "open format" specification that requires fifteen reams of paper to print out.
2010s: Lol cloud go brrrrr!
<inserts crayon into nostril while eating glue>
2020s: 2000s, are you OKAY? Do you need a... rabies shot, or something???
-
@rl_dane I still like the zip archive approach but with clean files inside them.
... except when I want the file to be checked into Git.
-
... or when you want to search for text inside of a directory full of those files.
Just use a decent binary format to begin with, brah.
-
@rl_dane Git diff and binary formats don't play well together.
-
@rl_dane But thanks to zip archives, I have done truly horrible things to ODT files back when I still used those. :D
-
What do you use now?
-
@rl_dane Markdown with YAML headers for writing, JSON for configuration files (because I can't get my head wrapped properly around KDL), and whatever language needs the source (which also lets me push it over to a packaged system like NPM or NuGet if needed).
-
Lately I've been using TOML for configuration files.
-
-
I don't really "enjoy" it either, but it does a great job and I hate it less than all the other options.
-
@amin @rl_dane I like the look and feel of KDL (https://kdl.dev/) but the C# and Rust developer experience isn't quite as polished.
-
-
I admit I don't really like that the languages I use now are whitespace-based.
…but if I allow myself to forget that they are, I really enjoy using them. And I'm not sure what that says.
-
function > form, I guess.
-
(But I personally much rather use punctuation than whitespace. By a parsec)
-
I mean the way I see it you've gotta use whitespace either way if you want things to be readable.
-
Absolutely, and I wouldn't even mind that much if a set amount/style of whitespace were enforced by linter or whatnot.
It's the whitespace-as-punctuation that is weird to me.
-
From a technical standpoint, line breaks certainly punctuate. ;)
-
hence poetry
-
Python is poetry. JavaScript is prose.