Como usar a palavra "Long"

Gostaria de saber qual é a maneira correta de usar o termo "long" na frase "Have you been waiting long?" ou "Have you been waiting so long?". Se alguém puder me explicar a diferença, eu agradeceria.

obs.: Eu sei que o correto é 'waiting long' só não sei o porquê.

TESTE DE VOCABULÁRIO
Faça um teste e descubra como está seus conhecimentos de vocabulário de inglês em 5 minutos! Este teste foi desenvolvido por professores experientes. O resultado sai na hora e com gabarito. INICIAR TESTE
1 resposta
Acho que a resposta que você quer está aqui :
diferenca-entre-a-long-time-x-long-muit ... 13510.html