Scenario: Just leaving coffee shop with friend #2. “That was fantastic; I haven’t seen friend #1 in years.”
- In English, you are probably aware of the historic present tense in which immediacy of a past action is emphasised by use of the present tense:
“It is 1201 and King John has problems with his barons.”
The historic present perfect also exists to fit in with this tense:
“He has tried exerting his authority and has issued numerous decrees.”
2 The other use of the present perfect, related to the above, is where, as you point out, a past action has effects in the present:
“That was fantastic; I haven’t seen friend #1 in years.”
The enjoyment of the past action reaches the present.
The negative past perfect is commonly used in this context.
Well, that was bad; I haven’t been in such pain / haven’t seen anything worse / haven’t worked so hard, etc.
These two are varieties of the same species and, in all of the above, the verb can be changed to the past perfect. But doing so removes the immediacy or the idea that the past actions still affect the present.
So which is it?
My opinion is that it is both: the speaker has a choice – both forms are valid. As neither presents grammatical problems, the reason for using the present perfect is the idea of immediacy.