Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

Possible Duplicate:
Present perfect tense versus past tense

Here is the example:

I haven't spoken any English for more than 3 years.

vs.

I didn't speak any English over the past 3 years.

Which sentence sounds more natural and appropriate? Are there any grammatical problems here?

share|improve this question

marked as duplicate by nohat Jul 14 '11 at 5:42

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2 Answers 2

The Present Perfect is used to express actions ("not speaking" is an action, even if it sounds like it's "not" an action) that happened "until now", and which may or may not continue into the future, so it adds a time element without the need for further words.

The Simple Past is used more to talk of actions that "finished before now", so it needs additional words to show that the action finished only very recently, or that it may reoccur in the future.

That makes the Present Perfect more efficient in explaining the case given (and less work, if writing it), but not more understandable -- and being technically more efficient isn't always for the best, when it comes to explaining things.

share|improve this answer

In UK English, the first would be more common; using the preterite (as in your second example) tends to conceptualise the event as 'completed and detached from the present for the purpose of what I am saying', and this contradicts a little the inclusion of "for the past 3 years", which is a time reference whose endpoint is anchored in the present.

However, as I understand, the second sentence would be more possible in US English, where there isn't such a correspondence between preterite and 'anchoring in the non-present'.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.