Why do we say "30 years old", but "a 30-year-old man"?

by Mark Israel
     [This is a fast-access FAQ excerpt.]
by Rich Alderson
   This pattern goes all the way back to Old English (alias
Anglo-Saxon).  It's the same reason many of us say that someone is
"5 foot 2" rather than "5 feet 2".
   The source of the idiom is the old genitive plural, which did not
end in -s, and did not contain a high front vowel to trigger umlaut
("foot" vs "feet").  When the ending was lost because of regular
phonetic developments, the pattern remained the same, and it now
seemed that the singular rather than the plural was in use.