(I posted this on the English Language Learners SE but apparently it isn't a good fit because it's a "why" question, so it was suggested by multiple users I post it here instead.)
In some languages, people say their age with a construction like
I have X years. In English, however, you say how old you are instead. So I'm curious about what is it about the logic of English that makes this sound more natural than
I have X years. All I can find is that "this is just cultural/this is just how the language evolved", but I'm sure there's some logic to it. (In the sense that I imagine natives wouldn't say things that make no sense to them, not in the sense that every little thing in a language must obey some logical rule.)
I'm also particularly interested in the logic that makes the construction
I am X years old grammatical. I suppose it comes from the fact that, in English, we modify/specify words by placing words before the word we want to modify/specify. Something like:
— I am old.
— How old?
— Very old.
— How old exactly?
— 900 years old.
On my other post, someone suggested the following:
Here's a much closer model:
How tall is it? It's 50 metres tall.
How long is it? It's two miles long.
How long is it? It's 40 minutes long.
This doesn't work for all adjectives, only ones of dimension. Even other easily quantifiable ones are different:
How hot is it? It's 30 degrees
How bright is it? It's 60 Watts
So we might say that age is conceptualized as a kind of dimension.
Any further thoughts?