It's been a long time since I have read an interesting book.
"Why is it not present perfect + past simple? I understand the "it's
been" part, since it's something that is still relevant or going on.
But if I'm referring to a specific past event, why should present
perfect even be considered?"
I was reading your statement, and began thinking. And although Hellion is correct when he said:
"in both of the sample sentences, you're not referring to a specific
past event, but to a somewhat generic experience; you can say "It's
been a long time since I have read an interesting book", but you
shouldn't say "It's been a long time since I have read The Hobbit".
He forgot a detail.
What if the last time I had read an interesting book was indeed at a specific past event, for example, last month? Hence a completed action, my reading an interesting book, at a definite time in the past.
Could a person then say:
"It's been a long time since I read (simple past) an
interesting book."
I believe the answer is yes. It is grammatically correct and makes sense.
Here is another example taken verbatim from "A Practical English Grammar" (A.J.Thomson A.V.Martinet):
"I've worked here since I left school"
Which means I have finished attending school (for whatever reason but the most plausible being I have graduated or taken my final year exams) and now I am working i.e. I am not a student any more but currently an employee.
To your first question:
I have been going on package holidays for years and I have never had any problems.
The Present Perfect Progressive has the meaning of "lately" or "recently." There is no indication from the second phrase that she stopped going on these trips long ago in the past. In fact, it sounds like she still may be taking trips, thus the answer.
The answer to your second question also lies in the second phrase. He is referring to the fact that he was never sick before from the foods he had already tried, not the food he is continuing to try, because obviously the most recent food made him ill.
I have been exploring the world...
The distinction is slight, but perhaps can best be explained as, there is no indication that the subject will stop the activity. The alternative
I have explored the world...
does not hold that implication. It could easily end with
I have explored the world for over 15 years, and it's time for me to settle down.
Best Answer
The present perfect is a present tense, describing a present state, and you should think of the "rule" with the present perfect as a requirement that the timepoint or timeframe involved must include the present.
After T is generally used to locate an event (with a stative verb like be it locates the beginning of a state) at a timepoint rather than in a timeframe, so it is usually awkward with a present reference—we rarely use the present to narrate events. It works more comfortably with past or future reference:
So I would avoid after with a present perfect. A better way of expressing what you're after is with since, which does imply the entire timeframe: