これ、日本語訳からだけみたらわからなくなる よくあるパターンの間違いです。
どうして同じ訳をする意味の語があるのか? 使い方が違うからです。裏の意味がちゃんと存在するからです。まず、whileは前置詞ちゃうから by , untilとは使い方が違うのはご存知ですか? 知ってそうなので省きます。
until Monday, until three p.m.などを使う時には untilは「その指定された時まで、その文の動詞の動作をし続けている」という意図で使われます。
つまりuntilにしようと思ったらその文の動詞が何かをみなきゃいけない、動作がその時までつづくモノでなければならない。だってそういう意味だから。
逆に その文に使われる動詞によってuntilにするのかbyにするのかが決定される。
だから Please wait there until 3 p.m. のように三時まで待つ(状態:状態動詞)をいう時には、untilがぴったりなのです。
この問題の場合 動詞arrive は午前10時までに到着すればいいことをあらわしているのですから untilにすると、ず~とarriveしつづける午前10時ちょうどまでしつづける・・・不可能ですよね。なので、他の動詞でいうとfinishなどもbyと対をなします。
You have to finish this task by next Monday.「きみは 次の月曜まで(締切の意味)にはこの仕事を終わっていなきゃならない」
next Monday ぎりになろうがなるまいが とにかく その日までに finishする。 ということです。
この学習には他に 動詞には 状態動詞(進行形でないのに主語の動作状態が続く状態をあらわす)、完了動詞など数種あり を学ぶとよりよく理解できます。私もやりました。
お礼
詳しい解説ありがとうございます。