Suppose in a house there are two children. One day one of them broke a glass. Then their mother arrived in the house. If the mother wants to know who broke the glass, which question should she ask her children:

Who broke the glass?


Who has broken the glass?

Can both the questions be asked in this kind of context? Which one do you prefer?

It's a self-made question.


Both should be fine, although "Who broke the glass?" would be more common, as "Who has broken the glass?" would sound unnaturally formal. Check out this canonical SE post and this user-submitted post for more related question on when, where, and how to use the present perfect tense.


In these circumstances "Who broke the glass?" would be the more usual. As it had clearly happened recently in time, since the mother was last there, and it was reasonably clear that it must have been one or other of the children - then the simple past tense would be idiomatically correct.

However, if the mother had been looking among some belongings, where she had not looked for a long time, and discovered something that had been broken, with no clear evidence as to who had broken it, or when it might have been, she might well say "Who has broken this precious thing?"

In other words, use the perfect if the circumstances are not recent, the time period not specific, or there is a general lack of clarity. e.g. I might say "Where did you go on holiday last year?", but "Where have you been on holiday these last few years?".

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .