Oh come on, don't make me spell it out for you. Revenge porn preys on women, child porn preys on children. Having these videos up, and allowing people to upload them, actively hurts people. Nobody is getting hurt if people watch Family Guy on youtube.
Absolutely this. The benefits of "casual exhibitionists" absolutely do not outweigh the risks and costs of having unverified and possibly illegal porn on your site.
An example like that is exactly why, in its current form, it's a bad idea. It's too high level. On the surface it seems like it makes code more consise and elegant, but in reality it just pushes the "ugly" implementation details and allocations onto the compiler. When you start writing code that's phrased in terms of high-level compiler features, rather than in terms of what the computer needs to do, then you're no longer writing C.
Agreed. In Go, defers accumulate and are all called at the end of a function, which I believe is a mistake (but there are practical uses for it). I think it would be much more fitting for C just to have the defer happen at the end of the scope. It would be very easy for compiler devs to implement it too--that above example could be done just by taking the defer block and pasting it at the end of the scope, with zero overhead. More complex control flow can be implemented with a simple goto.
The redesign was a massive success. The goal was to turn reddit into a typical social media property, and it worked. Real conversation was pushed aside into niche subreddits, and was replaced by typical social media filler crap, like r/funny and pics and wholesomememes, etc. It was bad before, but I just feel like the redesign made it 100x worse. Try opening the reddit homepage, new design, no account, and tell me with a straight face that that is a place where serious, well-thought discussion happens. The content on the front page is exactly what I would expect to see on my Facebook timeline or on the Instagram explore page, which I see now was Reddit's goal from the start.
In its current form, this is really stupid, because of something like this:
guard {
for (int i = 0; i < n; i++) {
defer foo(i);
}
}
Now the compiler has to:
1. implement some side of capture/closure mechanism to keep all the 'i's to the end of the guard block
2. do dynamic allocation to store the closures so they can be executed at the end did the scope
1 seems like too much work for such a feature, and 2 is a massive no. Implicit dynamic allocation, in C?
And all of this for nothing. The guard syntax doesn't give any reasonable benefits. They should have just kept it simple; defer happens at the end of the scope, and it just takes 'i' by "reference". It's a shame because it's a feature I would really like to have.