Sagiri
With something like Udemy, where you have to pay for courses, Udemy needs to review every course before selling them. You need to check them for accuracy (which would mean having them reviewed by experts in the field), as well as verifying the author's identity and doing at least a cursory check for stolen content.
If Udemy /wants/ to be as open as YouTube, that's fine. It just means that it's no better in terms of guaranteeing accuracy, which doesn't make much sense considering you have to pay for courses. If Udemy and YouTube offer basically the same minimal guarantees that their content is accurate and not stolen, why would you ever use the paid service?
Because you have to pay to access courses in Udemy, you may not even be able to tell if a course is stolen or not without paying for it. Obviously, you'd be able to tell if it was stolen whole cloth, but if it's been paraphrased, you'll probably want to be able to look at more of the course to make sure it wasn't just a coincidence because someone else decided to do the same topic. Do you want to pay just to check if it's your own stolen work?
While I haven't done it myself, my understanding is that reporting stolen content on Udemy is unnecessarily difficult, and that Udemy generally takes a long time to take it down. Now, maybe that's not true (or maybe it's not true anymore), but that doesn't reflect well on them if it is/was.
Undefined behavior is 'anything goes'. An implementation can choose a particular behavior that you can rely on for a particular case of UB, because, if the only rule is that 'anything goes', it doesn't violate that rule.
I'll admit that compilers don't generally do that - because specifying it could lead to fewer optimizations. But I did say "if", and there's no reason they couldn't do so in principle.
One could imagine a compiler with an extremely strict debug mode that traps on a number of situations that the standard deems undefined behavior via a segfault, in order to help people avoid relying on UB. Again - saying something like "casting misaligned pointers causes a segfault on [system]" would in no way violate a standard that says "casting misaligned pointers can do anything", because segfaulting falls under the umbrella of anything.
I think you're misinterpreting the fact that the results of undefined behavior can be ignored by a compiler for a requirement that it must be ignored by a compiler.
At least that would be a failure at compile-time, rather than run-time.
But I do try to check it regularly whenever I get the chance.
Hell, even if you don't think you'll ever need to do that, you should still avoid doing things that are platform or compiler specific.
Note, though, that a compiler simply doing a particular thing now isn't good enough to specify it in the sense that I mean. The compiler writers would have to explain (in a blog post or the like) the behavior and that they plan to keep that behavior in all future versions.
As such, it targets essentially the same niche as C/C++.
Maybe I'm misinterpreting this, but is the author actually advocating for Java-style checked exceptions? I can't even remember the last time I heard somebody say something positive about them (other than just now, possibly).