Learn English – “Should have done” vs. “would have done”

modal-verbs

Collins COBUILD English Grammar

5.134 You use should with have to say that you expect something to
have happened already.

Dear Mom, you should have heard by now that I’m O.K. ( I would add a little more context here: "Mom, I saw the doctor talking to you. You would have heard by now that I am OK." Otherwise, there are two explanations for this example, which could bring deviation from what I'm asking here. )

You also use should with have to say that something was
expected to happen, although it has not in fact happened.

Muskie should have won by a huge margin.

By default, you use would with have to talk about actions and events that were imaginary or hypothetical in the past.

The hypothetical usage of "would" is pervasive, though the inferential usage is much less common.

I think should is almost interchangable with would in the second example.

I was wondering if I could use would in place of should in the first example without considerable change in meaning.

A single yes or no would suffice.

Best Answer

No, "should" is not generally interchangeable with "would". The easiest rule of thumb is that when a speaker uses "should" she is prepared to explain why, and when a speakers uses "would" she is prepared to explain why not. Here are some examples:

Muskie should have won by a huge margin [because he is much better than the competition].

Muskie should win tomorrow [because he is much better than the competition].

You should have heard by now that I'm OK [because I saw the doctor talking to you].

You really should have started that paper more than 8 hours before it was due [because it's very difficult to write a quality paper in less than 8 hours].

With "should", the speaker always has a reason why something did/will occur. If the speaker's reason [in brackets] isn't explicitly stated, it is still implied. Now consider "would":

Muskie would have won by a huge margin [if he didn't blow his engine].

You would have heard by now that I'm OK [but you didn't buy me a cell phone, so I couldn't call you].

I would have started that paper earlier [if I wasn't so busy with all my other homework].

With "would", the speaker always has a reason why not - why something did not occur. The speaker is more likely to explicitly state her reason [in brackets] with "would". If we are using a future tense, the why not rule of thumb becomes awkward but still workable:

I think she would like this as a gift [if we decide to buy it for her].

In sentences like this, everyone understands that it is hypothetical, so the speaker would rarely actually say the reason in brackets [if this hypothetical situation ever arose]. (See what I did there!)

One final note, which makes this kind of tricky, is that you can still use "should" even when you state a why not reason as long as a why reason is still stated or implied:

Muskie should have won if he didn't blow his engine.

Actually means:

Muskie should have won if he didn't blow his engine [because he is much better than the competition].

So in sentences like this, "would" and "should" are almost interchangeable. Just remember that "should" means the speaker knows why and "would" means the speaker knows why not. If the speaker happens to know both, then she can choose "should" or "would" almost equivalently.

Related Topic