Learn English – How to say that someone is taking too long

word-choiceword-requestword-usage

What should I use when I want to say that someone is taking too long?
I have seen different ways and I don't know which of these I should use.

At the moment of speaking

What takes you so long?

Why does it take you so long?

 Past action

What took you so long?

Why did it take you so long?

So can I say:

Why do girls take so long to get ready?
or
What takes girls so long to get ready?

Sorry but I couldn't come up with better examples.
It will be great if you can help me. Thank you!

Best Answer

Ngrams clearly show that "what is taking you so long" is probably your best bet for the situation at the moment of speaking.

(I had to shorten the phrase because ngrams can't be more than 5 words. I presume that the results for "takes you so long" mainly pertain to situation when it regularly takes someone too long to do something (which is the default use of Present Simple), e. g., "I'd love to have you help me, but it usually takes you so long."

So when you are speaking about a specific situation that is in progress right now, you should use Present Continuous: "what's taking you so long".

But your sentence

Why do girls take so long to get ready?

implies that it usually, regularly takes them too long. Present Simple is the correct tense to use in this situation.

Regarding "what" vs "why", I'd say they are more or less interchangeable when we are speaking in the moment. In the "girls usually take longer" example, the specific reason (what) can be very different (can't find the dress; messed up her makeup and has to re-do it; grabbed a bag and its handle broke, so she had to fix the handle; etc. etc. etc.).

"What" usually implies that you are asking for a specific reason. So it would be more often used "in the moment". "Why" usually invites philosophizing about some general trends in someone's speed of preparation. That is why, semantically, in your example about girls (where Present Simple is used), "why" is a better choice.

In your first two sentences, both "why" and "what" could be appropriate (with "why" being sort of a "You always take so long, and you are now taking too long, too, WHY OH WHY?" question; and "what" asking about a specific reason), but you need to use Present Continuous.