The present perfect tense in English is curious in several ways. The first is the name: it is called a "present" tense, even though it is usually used to talk about the past. It is usually contrasted with the past simple tense, not the present simple tense. There are also not always perfect rules about how to use these two tenses, and which is more "correct", instead, it is a matter of which sounds more "natural".
The present perfect is usually used to describe something in the past that still has a present result, in contrast to the simple past, which is used to describe a specific activity in the past, which may or may not be relevant to the present. The formation of the present perfect in statements is regular, with some exceptions:
I have ridden a horse
Subject auxillary verb participle object
The major difference in form that can happen with this is the placement of adverbial phrases
between the auxillary verb and the pariciple: "I have, when the occasion has arisen, ridden a horse." In addition, in certain poetic contexts, the object can be placed between the verb and the participle. Thus Shakespeare
has, in the prologue of Troilus and Cressida
Have to the port of Athens sent their ships,
But this would obviously sound silly and pretentious for normal use.
The form of the present perfect being established, the function should be addressed. The basic function is to show a result, with the result either addressing basic qualities of experience, or the state of a current situation.
For example, simple past "I ate lunch" would be present perfect "I have eaten lunch", with the first merely describing an event, while the second is meant to convey the present state of satiety and disinterest in food. However, there is not a solid pragmatic wall between these two terms in English. Other examples of perfect forms used to describe finished actions: "He has emptied the garbage", "She has finished the test", and "We have cleaned the car". Notice that in many of the cases used to talk about present perfect, the simple past would work equally: "I scheduled a meeting" and "I have scheduled a meeting" would seem to be equivalent. The difference is, in simple past, you the event can be superseded or undone: "I scheduled a meeting, but then the room was busy", while the present perfect suggests very strongly that the result is still in effect: "I have scheduled a meeting, but then the room was busy" would sound odd to most native English speakers.
The other major usage of the present perfect is to talk about personal qualities and experiences, often in a way that is essential to the subject of the statement, such as in the example of "I have ridden a horse". In these cases, the perfect is used to describe something that has become an important part of someone's identity and experience, and is still an important part of what they might be capable of doing in the future. Although, of course, examples can be about trivial experiences as well. "She has run a marathon", "He has lived in Australia", or "They have met each other". Often, the present perfect is used to introduce an overall result, and then the past simple is used to describe specific events. "She has run marathons---she was in Boston last year, and she also ran in Chicago and Miami the year before that". While it is possible to move from the general present perfect to the specific past simple, it would sound odd the other way. Thus, in the famous Tears in the Rain monologue, the first sentence is "I have seen things you people wouldn't believe" followed by "I watched C-Beams glitter in the dark". These tenses would not have worked in the opposite order!
The usage of the present perfect can be ambiguous as to it is used, or at least it is hard to explain to non-native speakers. Compare the four following sentences:
- "I ate lunch." Simple past: used to describe a single event in some point in the past.
- "I have eaten lunch." Present perfect: mostly used to describe an event that is still valid in the present.
- "I have eaten Thai food." Present perfect: used to describe an event that happened sometime in the past, that has permanently changed someone.
- "I have eaten Thai food for lunch." Present perfect: although there is no single technical reason why this sentence couldn't be used, it sounds unusual to a native speaker, because it combines two usages of the present perfect. We would normally just say "I ate Thai food for lunch" to refer to the event, and would only use the present perfect to refer to the general experience.
Explanations of why a sentence like "I have eaten Thai food for lunch" is not quite right is one of the things that keeps me employed as an English as a Foreign Language teacher! Like many things in any language, while the grammatical form of the present perfect might be a little confusing, the pragmatics of how it sounds in different situations are truly involved!