First of all, profanity is not taken so seriously in other countries, so "angry" is a relative term. Probably because to kill someone in those countries is a much more strenous physical task, so you can say "fuck you" as many times as you want to your neighbor without risking to have a bullet in your leg. Chicks impressed and nobody was killed... perfect civilised way to solve a small problem about property boundaries.
f-words in those countries can express humour, angry, frustration, irony, and even a sense of victory over the evil code when you solve a bug. We try to avoid profanity in presence of childrens of course, but not a lot of childrens are expected to jump to read source code, so... adult territory, sorry boy.
And finally, profanity can be very useful. If you need to put a landmark you need to find a rare word, short, not commonly used as name of a variable, nor a reserved word or one that another script will put automatically in your file. They are a relief and also an, easy to remember, way to mark a frustrating line, and these comments are easily stripped in the final version, so if you have a "shit" floating around a subroutine you know that something smells still in your code.