****** NOT A TEACHER *****
(1) I think that both sentences are correct.
(2) I think that the second sentence is definitely correct, but
probably your first sentence is more common -- because native
speakers seldom (or never) use the future perfect. (Professor
George O. Curme says that Shakespeare never used it.)
(3) Here is some information I wish to share (my sources at the end
of this post).
(a) One expert says, "[T]he future perfect tense is rarely used
outside of Choice Written English, ..." He says that people
prefer to say (and even write): "Marcia's ship will sail before we
reach the dock" instead of "Marcia's ship will have sailed ...."
(b) Another expert says, "[T]he future perfect tense has been
largely replaced by the simple future tense." He says that
people prefer "He will finish the work by next Saturday" instead of
"He will have finished ...."
(c) And one expert says that many people have different ways to avoid
using the future perfect. For example, few would say: "I shall have
finished the work before you return." Instead, they feel more comfortable
I will be through with the work before you return./ I will have the work
finished before you return.
(d) Finally, one expert gives these examples:
I'll have completed my exams by this Tuesday. > I will finish taking my
exams by this Tuesday.
I hope the new bed will have arrived by the time my parents get here. >
I really want the new bed to arrive before my ....
George O. Curme, A Grammar of the English Language (Essex, Connecticut: Verbatim, 1983), II, 372.
Walter Kay Smart, English Review Grammar (Englewood Cliffs:
Paul Roberts, Understanding Grammar (New York: Harper & Row, 1954).
Neal Chambers, "The Basics of Future Perfect," englishspark.com