3

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?

ekbass
  • 333
  • 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. –  Oct 06 '12 at 08:11
  • 2
    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 06 '12 at 09:24

5 Answers5

5

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.

Barrie England
  • 140,205
  • 1
    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. – Tim Lymington Oct 06 '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 06 '12 at 12:16
5

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.

Peter Shor
  • 88,407
1

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.

rogermue
  • 13,878
1

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).

itsbruce
  • 3,607
0

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.