3 ms·
the specific format ... for the "exterior" design is an effect of the operating system. A different operating system might have a different way. I'd say it's b
by chubot 1y ago
the specific format ... for the "exterior" design is an effect of the operating system. A different operating system might have a different way.
I'd say it's both the operating system and the hardware. The OS tends to follow the hardware (network, disk), and there's only one kind of hardware that I know of: that which traffics in bytes, or blocks of bytes.
You can (and should) build formats on top of that, like UTF-8 and JSON, but at bottom it's bytes. Which is of course not true of the "interior" designs -- those are more like in-memory data structures created by the .NET VM, and invisible to the outside world, without serialization.
It might depend on the specific use.
I'll have to write this out fully later, but the argument is that using 2 types of glue is strictly worse than using 1, because you create a combinatorial explosions of code. You also create more software interfaces, and interfaces are where bugs tend to happen.
More code and more interfaces leads to more bugs. One type of glue is better!
Also, the glue should be dynamically typed. Because shell is for gluing together say Rust and Go, which have wildly different type systems. It's better to have 2 type systems than 3. If you have 3, then you need more glue.
"I don't glue on top of my glue" - https://oils.pub/ysh.html https://oils.pub/ysh.html