I have not heard from him for long or for a long time.
Can I use for long and for a long time in the above sentence interchangeably? Or do these phrases have different meaning and usage?
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
No, the two are not interchangeable, and interestingly, they actually mean nearly opposite things. As was pointed out in a comment, there's actually a very good thread on wordreference.com on this very subject. To summarize the most important points, though:
First, "for long" can only be used in negative statements ("not ... for long"). On the other hand, "for a long time" can be used in both positive and negative statements.
When in a negative statement:
I did not have money for long, because whenever I got some, I always had to use it right away for necessities like food and rent.
I did not have money for a long time, and I spent many months wondering where my next meal would come from.