Translation:We have waited a long time, but he has not come.
That isn't exactly the point I was making, but since you brought it up - 'isn't coming' indicates we have somehow decided subjectively that there is no or little chance of him turning up, whereas 'hasn't come' simply indicates an objective fact. Both are natural to me, but have different meanings.
It's because "komen" is a verb indicating movement/motion. This link should help explain - http://www.dutchgrammar.com/en/?n=Verbs.Au04
(If you ever study French, you'll notice this type of grammar in the French present perfect (called "passé composé) as well. And now we know why French grammar is not quite like Spanish grammar.)
The Duo translation best preserves the tense of the Dutch sentence.
Some Dutch auxiliary verbs support a change in tense when used with an infinitive or with the past participle. For example, gaan+infinitive changes from present tense to future tense. Here, zijn+past participle changes the second phrase from present to a past tense (unfortunately termed the present perfect).
Probably you got a listening exercise. If that was the case, the audio is using wij, which is pronounced differently from we.
The ij in wij, jij, zij sounds a bit like the ay in May (with some regional variations), while the e in we, je, ze sounds like the -e in differ.
Hope this helps.
that (has came) does not sound like proper English to me: http://conjugator.reverso.net/conjugation-english-verb-come.html