WARNING: Contains profanity. If you're sensitive to that kind of stuff, this post was written with you in mind. Hopefully you'll stomach it.
I was watching a livestream of someone playing Deus Ex on own3d.tv and he was just talking to himself, saying that he was "gonna kill some n****s." None of the characters in the context were black. This brings up a wonderful question - from a rational point of view, should this comment be offensive? And more generally, are there 'bad' words, and if so, why should they not be said?
But first a disclaimer - you can probably see where I'm going with this. Pragmatically, in the current social climate, if you don't want to be perceived as a racist, you should refrain from using racial slurs even in contexts where race isn't a factor. I don't think you should try to go around convincing people that it's okay for you to use racial slurs where it'll offend people. It most likely wouldn't work and you'd probably end up offending people by trying. This is purely a thought experiment in a strictly hypothetical bubble.
Now that that's out of the way, I don't see any reason at all for it to be the case that certain words should absolutely not be said (in the moral sense of 'should'). Before getting into why, I think a distinction should be made between a word - the vocalization and the graphical text - and its meaning - what goes on in the minds of the speakers, hearers, writers, and readers when a word is said, heard, written, or read.
The meaning depends entirely on context; that is what the minds involved believe about the word, what the words nearby it in writing or in speech, and the setting in which the word is written or said. Because the meaning depends on context, I don't believe that a one-to-one mapping of meanings to words is possible.
Therefore, while I can understand how some can believe that certain meanings morally shouldn't be communicated, I don't see how there can be a moral obligation not to say certain words. The usual complaint I hear from the politically correct crowd is that using certain words in a negative light is morally wrong since it attaches a negative connotation to the word's denotation, i.e. it attaches bad feelings to the word's dictionary definition (and by extension, the people that the dictionary definition represents). But if there is no one-to-one mapping of meanings to words, then there is no "right" definition of words. Denotation just doesn't exist.
I can understand the biblical injunction to not use Yahweh's name in vain. What I can't understand is when people interpret that to mean that you may not say the word "God" (hint: that's not his name, nor is that what the command is talking about) or that you may not say the words 'fuck' or 'shit' or 'damn'. Those words probably have completely different meanings when an adult uses them versus when a two-year old drops an f-bomb in the grocery store. Which is why it makes no sense to me to see someone chide a two year-old for dropping an f-bomb in the grocery store.
Repeated disclaimer: I'm not advocating going around talking about 'n****s' all the time. Oftentimes, when the word is used, it has a negative connotation about a certain group of people. And if you use it, there's a good chance that it'll be interpreted that way. Pragmatically, it doesn't make sense to use that word lightly. What I am saying is that there is no denotation of that word, and nobody needs to get uppity when the context makes it clear that it's not used in an insulting way.
You could even argue that when someone uses a word that usually has a negative connotation in a way that has no negative connotation, they're gradually breaking down the perception that the word has a negative denotation. They're rendering it innocuous. Some people might consider that a good thing.
So what do you think about this shit?