What is the rule for adjective order?
In Letter #163 to W.H. Auden from page 214 of The Letters of J.R.R. Tolkien, Tolkien mentions his mother noting but not explaining that one had to say ‘a great green dragon’ instead of the other way around:
My mother said nothing about the dragon, but pointed out that one could not say ‘a green great dragon’, but had to say ‘a great green dragon’. I wondered why, and still do.
Apart from the obvious aesthetics, why is this?
Possibly related is something my French teacher once said, that adjectives related to size should be placed before the noun, and other adjectives should be placed after the noun — thus ‘un grand chat noir.’
Is it quite simply the same rule in English (with the noun moved after all adjectives), or is there something else at work?