0

This is the explanation from Oxford Dictionary

(for) long / (for) a long time

  1. Both (for) long and (for) a long time are used as expressions of time. In positive sentences (for) a long time is used:
  • We’ve been friends a long time.

(For) long is not used in positive sentences unless it is used with too, enough, as, so, seldom, etc:

  • I stayed out in the sun for too long.
  • You’ve been waiting long enough.

Both (for) long and (for) a long time can be used in questions, but (for) long is usually preferred:

  • Have you been waiting long?
  1. In negative sentences (for) a long time sometimes has a different meaning from (for) long. Compare:
  • I haven’t been here for a long time ( = It is a long time since the last time I was here) and I haven’t been here long ( = I arrived here only a short time ago).

In general, I feel headache when reading it because it just says how to use it but does not explain why?

Can anyone explain this to me:

How are "(for) long" and "(for) a long time" different?

According to my study, it seems that "for long" seems for a short period of time like 4 or 5 hours, while "for a long time" seems for a longer period of time like 4 or 5 years.

But I am not sure.

6
  • 2
    I don't think there is any logical explanation - that's just how the language has evolved. What is considered 'a long time' depends on the context, not the grammar. "Have you been waiting long?" and "Have you been living here long?" would expect answers of different orders of magnitude. Jul 20, 2021 at 16:48
  • 1
    That's an etymology question, and outside the scope of this forum
    – gotube
    Jul 20, 2021 at 21:28
  • @gotube, there is a pattern. It seems like "for long" is used for short period of time like "Have you been waiting here for long?" or "You have been watching TV so long" while "for a long time" is for longer period of time like "I have been living here for a long time" etc.
    – Tom
    Jul 21, 2021 at 1:27
  • @KateBunting, there is a pattern. It seems like "for long" is used for short period of time like "Have you been waiting here for long?" or "You have been watching TV so long" while "for a long time" is for longer period of time like "I have been living here for a long time" etc. Don't you think so?
    – Tom
    Jul 21, 2021 at 1:35
  • 2
    @Tom You asked why they are different. That's a question of usage history, which is an off-topic question here. If your intent was to ask the functional differences between the two beyond what's already in the Oxford quote (a "how" question), then edit your question to be clear, and include these examples to illustrate what you want
    – gotube
    Jul 21, 2021 at 1:54

1 Answer 1

1

(for) long is preferred for statements in the negative:

I will be busy for a long time - positive
I won't be busy for long - negative

(for) long is preferred for questions:

Have you known him long? - question
I have known him for a long time. - statement

2
  • What about "he has been a thief for a long time" (a bad thing) and "I won't learn English for long" (a good thing)?
    – Tom
    Jul 21, 2021 at 5:55
  • 1
    Oops. The first part of my explanation was incorrect. "he has been a thief for a long time" vs "he hasn't been a thief for long"
    – JavaLatte
    Jul 21, 2021 at 6:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .