TwentyPosts
Joined 3 years ago
Joined 3 years ago
The go devs decided against this since they didn't want to build a highly optimizing (read: slow) compiler, but that is missing the point of developer ergonomics.
Hardware (see also, Google's TPUs and their performance vs. energy cost) is one reason why I'm fairly bullish on Google.
It just didn't seem feasible, for a lot of reasons.
Of course, how feasible it sounded will depend on your interpretation of "superset". I wonder what was the straw that broke the camel's back.
For example, the async problem still exists and still has absolutely no viable path forward, or even MVP approach.
And that's not even getting into the problem that it's a fairly controversial feature, since people are worried about terrible, hard to track specialisation trees. (See, inheritance.)
And fwiw, I heard of two tragic cases of children dying, which sounds remarkably low to me so far. If this were truly indiscriminate, this number would be significantly higher and we would've heard of it by now.
Children (and potentially health workers, as opposed to men of fighting age) are much more likely to die of such an explosion than men of fighting age. In other words, children will be significantly overrepresented here.
As far as we know this was a supply-chain attack specifically on military pagers actively used by Hezbollah, and (right now) it looks like most injured are in fact Hezbollah members (which makes sense, since no one else has any reason to carry such a pager). (With some sad and unfortunate exceptions.)
Python's `A | B` is a union operation, but in Rust a sum type is always a disjoint union. In Python, if `A = B = None`, then `A | B` has one possible instance.
In Rust, this sum type has two possible instances. This might not sound like a big deal, but the semantics are quite different.