Know how to use "fewer" and "less"? Find out.
1540s, "mentally slow," from Middle French stupide, from Latin stupidus "amazed, confounded," literally "struck senseless," from stupere "be stunned, amazed, confounded," from PIE *(s)tupe- "hit," from root *(s)teu- (see steep (adj.)).
Native words for this idea include negative compounds with words for "wise" (cf. Old English unwis, unsnotor, ungleaw), also dol (see dull), and dysig (see dizzy). Stupid retained its association with stupor and its overtones of "stunned by surprise, grief, etc." into mid-18c. The difference between stupid and the less opprobrious foolish roughly parallels that of German töricht vs. dumm but does not exist in most European languages.