Re:Against SQL
by OskarS on Saturday July 10, 2021 @04:42AM
(#27792059)
You’re probably thinking of C/C++ unions, and they do indeed have quite tricky semantics and are difficult to use correctly. What the article and the other commentators are talking about is more properly called a “sum type”, like Rust’s enums, for instance. Those are different things from C unions. In languages with first class support for sum types, they are used everywhere, it’s an incredibly useful concept.
[ Parent
| on HN ]
Gotcha, ta. That becomes a tricky problem when we're talking about something that's primarily a storage engine though, right?
Well, sum types are not magic - they must be stored in the memory somehow. Rust's enums tend to use a simple approach: there's a large enough integer tag (usually an 8-bit integer), followed by enough space to store any of the variants. The same exact encoding could be used with a database storage engine too.
Re:Against SQL
by valenterry on Saturday July 10, 2021 @07:39AM
(#27792687)
Not sure - because in the end, a programming language also has to store this concept in memory. I don't think there is a fundamental difference.