* This code is bad; vs.
* You are [A named person is] a worthless person.
The first is fine and a healthy part of software development. In a casual environment like open source development on the internet, it can be said with humour, with venom, with fervour, with sarcasm, or with hyperbole. Don't take it personally, even if happens to be code that you wrote. It's not a personal flaw of yours if everything that comes out of your keyboard is not instantly the best code ever written. Calm your ego. Use it to become better, stronger.
The second is a personal attack and is not acceptable.
Some people don't seem to be able to tell the difference, and treat the first as the second. Furthermore, since they can't tell the difference, they often react by doing the second (e.g. "Linus is a shithead for saying that and should go die in a fire"). I find that offensive.
* This code is bad; vs. * You are [A named person is] a worthless person.
The first is fine and a healthy part of software development. In a casual environment like open source development on the internet, it can be said with humour, with venom, with fervour, with sarcasm, or with hyperbole. Don't take it personally, even if happens to be code that you wrote. It's not a personal flaw of yours if everything that comes out of your keyboard is not instantly the best code ever written. Calm your ego. Use it to become better, stronger.
The second is a personal attack and is not acceptable.
Some people don't seem to be able to tell the difference, and treat the first as the second. Furthermore, since they can't tell the difference, they often react by doing the second (e.g. "Linus is a shithead for saying that and should go die in a fire"). I find that offensive.