- I've watched 10 movies until now.
- He should have been here by now
- I think in the first sentence, "by" doesn't work and using it will not be idiomatic. This applies to the using "until" in later sentence too. For me using "until" will not be be a correct usage. Instead the "until" in the first sentence and "by" in the second sentence fit the best. Am I right?
The difference is that 'by' refers to an event that happens at a moment in time, whereas 'until' refers to an event that happens for a period of time. They can't usually be used as alternatives of each other - except perhaps when used with negation.
Using your second example, to say "He should have been here by now" means that at some point in time, prior to this moment, he should have come here. To say "He should have been here until now" would mean that from some earlier time, continuing to this moment, the person should have stayed here.
To reply to your 3rd comment to whatever's answer, no, you cannot substitute by for until in all those examples. As mentioned, it doesn't mean the same thing, but in those cases it makes nonsensical sentences.
In the examples of: She won’t be back (by) 5 o’clock. - She won’t be back (until) five o’clock, they almost mean the same and can be substituted. This is the negation I was referring to. Technically, "She won’t be back (until) five o’clock" could mean that she will turn up at five o'clock on the dot, whereas "She won’t be back (by) 5 o’clock" means that time she will come back will be after 5 o'clock.
Edit for comments:
...whenever we have a negative sentence (negation conditions), (always) "by" and "until" work and mean the same?
Not always, and they're not exactly the same.
...She won’t be back (until) five o’clock
This means she won't be back before 5:00. Generally this means she will get back at 5:00 or some short time after.
I've watched 3 movies (until) now vs I've watched 3 movies (by) now
Either of these will work depending on context, but neither are really natural. If you were discussing the total number of movies you've ever seen, you might say: 'I'm going to a 5-movie marathon tonight. I've only watched 3 movies until now.' Alternatively, if you were explaining how long something took by comparison you could use the second example: Where has taken you so long? You were only supposed to be going to the snackbar for popcorn. I've watched 3 movies by now.' But in the first instance you are more likely to say 'I've only ever watched 3 movies' and in the second instance 'I've watched 3 movie since then'.
With 4) the inconsistency you see is because of the negation. "She won't be back by 5.00". At that point in time she won't be here. But after that point in time, for a continuous period she will be here. Similarly, "she won't be back until 5.00" says for the period of time from now til 5.00 she won't be here. After 5.00 (i.e., from that point in time) there is a likelihood that she will be here.
I think the negation trick is the only way to use them as alternatives to each other. I can best show this by example. Given the situation of a boss asking two employees about their previous workday. Firstly, positive:
"I was there by 5.00pm and I worked til midnight." vs "I was on the day shift and I was there until 5.00."
"I wasn't there by 5.00 because my bus didn't show up on time. But I was only a few minutes late." vs "I wasn't there until 5.00, because that's when my shift starts."
Now, there's no way the two sentences in the first example can mean the same thing. The two employees might have met in the staff room as one clocked off and the other clocked on, but they were doing two clearly different shifts.
The second example has a similar outcome, i.e., that at some time after five o'clock, both employees were at work, but the circumstances are somewhat different. In the first case '... was not there by...' means 'was there later than', in the second, '... was not there until ...' , means 'was there at'.
I hope this clears it up.
You're right. It sounds natural and is grammatically correct.
Just the explanations are wrong. By and until are idiomatic for both sentences but require different tenses and/or continuous/simple form.