A friend's little girl played with my daughter. Both are about 11 years old. One called the other an idiot and caused some unpleasant reaction. I always thought "silly" would be a word used in joking and "idiot" is clearly used in an offensive context, like "You silly boy!", "That's a f!@#$ idiot!"
I did some research. I agree with the last message in this thread:
or directly at
I've been reading newsgroups for 10 years. My impression is that "idiot" is often used in flames (argument beyond technical content), but "silly" is not, at least in newsgroups. I remember watching a Japanese movie on the airplane. The teenage girl chased her singer model all the way from Tokyo to New York and back to Tokyo. She finally got his affectionate attention, when she grew up, mentally. In the last scene, the guy ran to the airport seeing her off, from outside the security check-in, calling her. She smiled and said (sounds like) ba-da. The English caption is "You idiot!" The context is clearly not about her resentment against the guy. It's quite the opposite actually. So I think the word "idiot" is very wrong here. I don't know Japanese. But I guess the translation should be something like "You silly boy!"