why not "in a farm"? if you say "on a farm" donot you say something above a farm something?
Good question. I think that we say "on a farm" and not "in a farm" because we are talking about a kind of housing that is pretty open (There are lots of open spaces on a farm, so we say "on" rather than "in").
We
do however say "He lives
in an apartment," because an apartment is an enclosed space.
So, let me try to summarize:
live in - we say this with:
- closed living spaces ["he lives
in a big house"]
- cities ["he lives
in Mexico City"]
- states ["he lives
in Virginia"]
- countries ["he lives
in Russia"]
- continents ["he lives
in Europe"]
- ecological zones [ "he lives
in the desert / the woods / the mountains"]*
*one exception to ecological zones is water. Words such as
lake, river or
sea will take the word "on": "he lives
on a lake." This does not mean that he lives "on top" of the water, but rather that he lives very near to it.
live on - we say this with:
- open living spaces ["he lives
on a farm / a military base"]
- streets ["he lives
on Third Street / Lexington Avenue / Highway 90"]
live at - we say this only if there is a possessive or modifying noun in front of the type of housing ["he lives
at ... his uncle's place / a homeless shelter"]
I hope this helps you. Let me know if you have any further questions.