That's funny, because last time I had to write json-related code in Python, I really missed Rust's serde, which makes deserialization + validation much easier to write in Rust than in Python.
YMMV, of course.
That's not a gain in any way.
Since I/O is usually untyped, you need to cram it into a typed schema somewhere. In strictly typed languages, that must occur upon ingestion. The author is saying you can delay it by having a layer on top of the I/O transform the data in untyped fashion before being typed later on.
I have seen large applications (think hundreds of millions of daily users) break because of such oopses.
Libraries like Jackson make it entirely painless.
I would assume JSON parsing is a solved problem in any typed language.
record Thing(String name, int size, LocalDate when) {}
The only way I could see this being easier is to forgo type safety completely.These things are just better when you aren't in a nominatively typed language with some pretty crusty assumptions.