Are the following expressions gramatically incorrect?
I have been walking my dog these three years.
He has been playing at the Wimbledon since he was 18 years old.
A private English school's website in Japan says the above expressions should be changed to:
I have walked my dog these three years.
He has played at the Wimbledon since he was 18 years old.
The site explains that the present perfect progressive form cannot be used to describe people's habitual activities unless the activities have been in progress without a break.
It is true (I think - though "rules" aren't really my thing) that the pres.perf.prog. is necessary to express continuous action (in a sentence like 'I've been working here since I left school') but I don't think it's sufficient in your cases. Your sentences sound fine to me, with respect to the verbs.
But even the 'correct' version shouldn't say 'the Wimbledon' unless it's an abbreviation for some institution such as 'the Wimbledon Theatre' (if there is such a place). And the 'continuous' requirement doesn't work here:
He has been playing at Wimbledon since he was 18, but not in 2004 (when he didn't qualify, or in 2006 when he had his ankle problem).
He has played at Wimbledon every year since his 18th birthday.
(Playing at Wimbledon is not a habit. 'Whenever he plays at Wimbledon, he stays at the same house' - that's a habit. Perhaps that's why the rule doesn't apply here. But I'm not much of a "rules" man.)
b
BobK,
Thank you for your clear information.
I am not entirely happy with the idea that you have been walking your dog for three years.
Hi Anglika!
Is whatever Snappy mentioned true? Shouldn't we use present perfect continuous for habitual activities unless they have been happening continuously over the period mentioned?
I have been reading Times magazine for three years.
Is the above sentence incorrect?
I have been walking my dog for three years -- Does this mean I have been walking my dog for 3 years without break?