English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let's say I have just listened to a beautiful song wanted to immediately tell my friend about it. Which sentence should I use?

A. I haven't heard a song this good for a while.

B. I hadn't heard a song this good for a while.

Should I say A because I am currently still excited about the song? Or should I say B because the act of listening to the song started and ended in the past?

share|improve this question
The difference is especially important if you have not been physically active for a while and if you have had problems that have impeded you to hear song; but I'm more comfortable with the (B) case. – user19148 Oct 6 '12 at 8:11
If you have just heard the song, then it is not so much past as 'pre-present' ('Is Igor here?" ~ "No, he has just left") so you should go with (A). – Roaring Fish Oct 6 '12 at 9:24
up vote 5 down vote accepted

One of the uses of the present perfect is to talk about very recent events. Since you want to tell your friend about the song immediately, the present perfect is the right choice. You would normally use the past perfect to describe hearing the song at some time considerably before the time of speaking.

share|improve this answer
Not certain about 'considerably before'; I think it's any time specifically in the past. For example, there's nothing wrong with "Five minutes ago I heard a song I hadn't heard before." But nitpicking aside, +1. – TimLymington Oct 6 '12 at 11:56
@TimLymington: You're right. It's a matter of the time relation between the two verbs, but none of us can write an entire grammar book in a simple answer here. Space and other constraints inevitably mean withholding part, often a large part, of the truth. – Barrie England Oct 6 '12 at 12:16

It seems to me that there are three choices here.

I haven't heard a song this good for a while.
I hadn't heard a song this good for a while.
I hadn't heard a song that good for a while.

For the first two, this good places the song in the present or immediate past. Both verbs work: haven't works because it's referencing the time before you heard the current song, and hadn't works because it's referencing the last time you heard a song as good as this one.

If you didn't hear the song you're talking about recently, you need to say that good, and the only verb that works in this case is hadn't.

share|improve this answer

I am going to disagree with @Carlo_R. The second option is appropriate if you are describing a past event and you want to place the act of listening to the song quite specifically in that context. In the situation you describe, the first form is more appropriate. For one thing, if the first thing you do is tell your friend, you haven't heard a song as good in the interim. To use the second form would imply that you had (not least because it is over-formal usage for an impromptu conversation with a friend).

share|improve this answer

Past perfect for an event A is only used in relation to a past event B expressing the idea that event A was before event B. As your sentence with past perfect does not mention a second past event it is wrong use of past perfect.

Example: I had studied Italian for some time before I went to Italy.

"I went to Italy" is past event B. "I had studied Italian" is past event A lying before event B.

Expressing the exact order of past events is mainly a thing of written language. In normal colloquial speech this chronological order of events is often neglected.

share|improve this answer

Haven't is definitely the right context for this situation. Telling someone "you hadn't talked to them all day is improper use of the English language. However, "I haven't talked to you" all day is proper considering it is assembled to describe the past in a situation.

share|improve this answer
I think the accepted answer already eloquently expresses this idea. – Lawrence Mar 18 at 3:53

protected by Rathony May 21 at 17:28

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.