First of all, I've been told that you can use the future simple tense when you promise/intend to do something not later than some date, as in:
"I'll do my homework by 9 pm".
You can use the future perfect if you confidently predict something:
"I will have done my homework by 9 pm".
I haven't seen any explanation for this in Grammar books (which is odd), but, nonetheless, it's what I've been told on this forum.
I have been comparing two resources (The first and thecome across secondthis) which seem contradictory:
The first states:
Don't use certain strict expressions denoting time that require certain complicated tenses. For example, "by the time" requires the perfect tenses. If you replace "by the time" with "before"..., you can use the simple tenses...
I will have finished the report by six. I will finish the report before six.
The second:
Sometimes, you can use the future perfect tense and the simple future tense interchangeably. In these two sentences, there is no real difference in meaning because the word before makes the sequence of events clear:
Linda will leave before you get there. Linda will have left before you get there.Linda will leave before you get there. Linda will have left before you get there.
But without prepositions such as before or by the time that make the sequence of events clear, you need to use the future perfect to show what happened first.
Here are two sentences I've made that should mean the same and be correct according to the second sourceThat means:
"Mary Awill leave) Mary will leave by the time you get there.
" is equal to "Mary Bwill have left) Mary will have left by the time you get there.
To recapitulate, according to the second source "there is no real difference in meaning" in the sentences A and B and I "can use the future perfect tense and the simple future tense interchangeably""
Whereas, according to the first source "by the time" requires the perfect tensesSo, that is I cannot use the simple future tense in A.
So, which source is correct?