C looks friendly enough, but it has many nooks and crannies filled with undefined behavior (UB). If your program accidentally does something like overflow a signed integer, you're toast.
The `ReadFooFromBytes()` function could exhibit undefined behavior, depending on the provenance of its pointer parameter.
If you gave it a pointer to a true array of chars, it's fine. If you use `ConvertToFoo()`, big bada boom. Truly baffling stuff, the first time you encounter it.
Not trying to be mean, but there's not much content here. It's a definition of the term "stringly typed" (from another blog) followed by the idea of using appropriate types.
I guess the author is "one of today's 10,000", as they say. Wiktionary attests the term from 2019 but I'm sure I've been hearing it much longer than that.
I was working with the Torque Game Engine in like 2008 which had a scripting language where almost all data was strings. Vectors? String of three numbers with spaces in between. Looking back I think it was kind of TCL inspired. But I definitely heard it called "stringly typed".
I think it is an A/B test, as you described, based on this part:
> We created a secret landing page. The product and design were identical. The only difference? One was labeled “Made in Asia” and priced at $129. The other, “Made in the USA,” at $239.
It's odd that they changed the text AND nearly doubled the price. They seem to attribute the conversion rate dropping to the text change, though.
> User interface designers aim to reduce cognitive load, improve ease of use, and guarantee access to all (Johnson, 2020).
Do they, though? Anecdotally, they seem to be primarily focused on optimizing engagement metrics, secondarily on adding gratuitous padding, and tertiarily on making all the buttons flat and harder to distinguish from the background. Rant over.
Can you explain the fallacy in more detail? It doesn't seem like a leap that if marriage is less popular, a larger percentage of the population is single.
They can be in a relationship (not single) but not married. I know people in relationships for 7+ years who haven’t married. That was far less common the further back you go.
Raymond Chen has the best write up on UB that I've seen: <https://devblogs.microsoft.com/oldnewthing/20140627-00/?p=63...>.
In addition to the "obvious" undefined behavior, strict aliasing is subtle and poorly understood in my experience. Consider the following:
The `ReadFooFromBytes()` function could exhibit undefined behavior, depending on the provenance of its pointer parameter.If you gave it a pointer to a true array of chars, it's fine. If you use `ConvertToFoo()`, big bada boom. Truly baffling stuff, the first time you encounter it.