> A large part of the middle class would be priced out of most modern amenities if these would be produced domestically.
Let's assume that this is indeed the case, consider why those amenities are so much more expensive to produce domestically? Mostly it's because of cost of labor - and that is expensive in US because labor has numerous rights and protections. So if we're not producing things here because they would be too expensive otherwise, it rather implies that those cheap modern amenities are subsidized by exploitation of cheap labor elsewhere. And we can do that because borders prevent free flow of labor from those places to here, while "free trade" allows for a free flow of manufactured goods. Which is already a very ethically questionable arrangement, but even leaving that aside, what happens when those other places catch up on labor rights (and cost)? We can't have an economy that indefinitely relies on having people impoverished elsewhere so that they can be hired for pennies to climb out of that poverty. Or, well, I suppose we can if we were willing to actively stymie those societies to ensure they don't catch up - which is even worse.
FWIW I don't think Trump's tariffs are a meaningful step to resolve this problem, and his motivations are certainly not concern for exploited workers. Nevertheless we can't just ignore the problem that he happened to highlight to his own ends.
Treating the pointer as not-nullable is precisely the point of the feature, though. By letting the compiler know that there's at least N elements there, it can do things like e.g. move that read around and even prefetch if that makes the most sense.
It stems from B, because it didn't have either pointers or arrays on the type level. Declaring an array allocated the storage, but the variable itself was still a word-typed pointer to said array. In fact, you could even reassign it!
foo(a) {
return(&a[1]);
}
bar() {
auto a[10];
a = foo(a);
}
The decaying system made it mostly work with minimal changes in C.
And the reason why C has array-pointer decay is because that made it work more or less like B (which had to do it since it literally didn't have any type other than machine word).
And when everybody else does it (and all assume that everybody does), it really ends up being true. That's why it's so hard to get out of this hole - telling people to "start with yourself" won't cut it, they need to see that others are doing the same as well rather than trying to benefit from the opportunity.
The reasons I've encountered range from philosophy ("Students don't retain knowledge as well if they rely on recordings") to environment ("I want students to be able to ask questions and be wrong without being recorded") to petty ("I don't like lecturing to a half-empty room").
Some levers are accessible to everyone, but the implied social contract is that you only pull it if you actually need it, because the system doesn't have enough resources for everyone to do it.
Trouble is, getting teenagers to accept and live by that isn't something that will pan out. Societies have been trying for millenia.
If your system built for teenagers relies on the social contract in this way, it's a bad system. People who are over a half decade from a fully developed brain aren't going to grasp this.
That's not mentioned in the article. Is this your personal speculation or do you have something to support that claim? The article seems to make it clear that it is the students themselves getting these accommodations, so your claim is directly contradicting the article we're commenting on.
> why are we acting like stanford students are unaccountable teenagers
Well they're definitionally teenagers, and if you know of a way to make teenagers act en masse accountable to society's values, that would be a novel development in social human history going back to Ancient Greece. So barring that, we should treat the teenagers whose brains have not yet developed enough to grasp society-wide consequences for personal actions as such.
reply