be goneとhave goneとhave been goneの違い
goのコアの意味は
「視点のあるところから離れていく」
です。
なので、
「去る、なくなる、死ぬ、動く、行く、届く、~する予定、過ぎる」
このように、いろいろな意味があります。
goneは、goの過去分詞ですが、形容詞として「過ぎ去った、なくなった、死んだ」という意味もあります。
be goneとhave goneとhave been goneの違いですが、
be goneのgoneは形容詞です。そして、be goneの意味は「死んでいる」という意味になります。
His brother is gone.
彼の兄は死んでいる(現在の彼の兄の状況)。
have goneは、現在完了形でgoneは過去分詞です。
His brother has gone.
彼の兄は行ってしまった(その結果、彼の兄は今ここにいない)。
ここでgoneを死んだと訳さない理由は、動詞として使っているからです。goはその場から離れていくことであり、動詞では普通、死んだという意味では使いません。
もし彼の兄が死んでいると言いたいなら、上記の「His brother is gone.」を使います。また、死んでいたと言いたいなら、「His brother was gone.」となります。
His brother has been gone.
彼の兄は死んでしまった(死んですでにこの世にいない、現在における過去の回想)。
ここで使われてるgoneは形容詞として使われているので死んだという意味です。
整理するとこのような感じです。
ちょっとややこしいですよね。
それぞれの単語の持つ意味をしっかり理解して何度も使い続けることで慣れていくしかありません^^。