The answer of shabunc is absolutely right. I just want to dwell more on the internal logic of the phenomenon.
First, let's clarify/establish the scope and the terminology.
Scope: We are only talking here about the negations of a pattern:
[verb] + [negative adverb]. Adverbs like nowhere, never, nobody.
Double negations of other patterns in Russian are mostly the same as in Boolean algebra. For example, in colloquial speech it is possible to say "Я не не-согласен" to the meaning "I agree" when you deny somebody's statement that you "не согласны".
Terminology: As far as I understood from the wikipedia article, there are two possibilities:
- double negation - when, like in Boolean algebra, the second
negation cancels the first.
- negative concord - when further negations add emphasis to the first one.
We have already established that Russian language belongs to the "negative concord" group. Let's look at other European languages (source: the same wikipedia article):
(Polish, Serbian, Belorussian, Ukranian, Russian, etc.)
As we can see, most languages prefer negative concord. Why is that? Let's look at the following phrases. (Sorry for some "strictly mathematical" approach :-). Imagine you say these phrases one after another to a girlfriend or boyfriend without changing the word order to make obvious the evolution of the phrase:
- Я не хочу идти с тобой на ярмарку после 6 вечера.
- Я не хочу идти с тобой на ярмарку никогда.
- Я не хочу идти с тобой никуда и никогда.
You are consistently widening your negative message here. In English, following the rule of double negation, as soon as you put the negation in at least one of the adverbs you should remove the negation from the verb.
I do not want to go with you to the fair after 6 p.m.
I want to go with you to the fair never.
I want to go with you nowhere and never.
Of course, you wouldn't torture your [ex-]boy/girl-friend like that. You would say something like "I do not want to go with you ever" or "I will never want to go with you to the fair" but formally the phrases which I have just presented are correct and are allowed by the language. There is an episode in the Borat movie where he indirectly makes fun of this feature of English (or rather the Old English).
So, the problem with double negation is that sometimes you do not know the gist of the phrase until you hear the very end of the phrase. I think, the Germanic languages (English is a Germanic language, too) have an old tradition of placing negation at the very end of the sentence. For example,
"Er hatte das Buch nicht" - He did not have the book. Thereby this small peculiarity of double negation is not a problem for Germanic languages because the people are already patient enough to wait till the end of the sentence. :-)