My teacher told me that for future, I have to use “hope”. But what about a situation like this: the weather has been bad for a few days and I am annoyed, impatient as tomorrow I go hiking. So I say “ i wish that tomorrow the weather improve” or “..would be sunny”. Is that still unacceptable?
I wish the weather would improve tomorrow=grammatical. I wish the weather were going to be good tomorrow.=grammatical
For it to be grammatical with regard to the future, you have to introduce the expectation, which is expressed using the past continuous subjunctive or regular past continuous to express an unreal situation in the present.
I wish the weather were/was going to be good tomorrow. [but I have heard it probably won't be.] OR [I have heard it isn't going to be good].
Notice how in this type of sentence, the were/would be going to be stands in contrast to an implied future with will or an implied situation with be. This is explained below.
the verb wish is used when you speak at a present time to make a general statement about anything at all really. It is also used in the present time with a past perfect verb to express now what could have happened in the past.
1) RIGHT NOW: [Say these sentences, including the bracketed parts to yourself to "feel" how this works. wish used like this always implies another idea that accompanies it, as I have proposed below.
I wish you would listen to me. [But you don't]
I wish I were better at German. [But I'm not good at it]
I wish I could play the piano. [But I can't]
I wish the dog would stop barking. [But he won't]
I wish the student would leave now. [But he won't]
I wish he were playing the piano, but he isn't.
I wish we were leaving now. [But we aren't]
I wish he were going to leave now [but he won't or isn't].
2) ABOUT YESTERDAY:
I wish [now] he had come by earlier [about yesterday].
I wish [now] they had finished sooner. [but they didn't]
1) Generally speaking, the use of wish takes: conditional(would come), modal (could come) "subjunctive" [were], continuous "subjunctive" [were coming], past tense of be, for a general statement about today.
2) It can also refer to the past. See example under About Yesterday above.
Now, if you want to talk about what you would like to see happen in the future, the verb hope is used with will.
a) I hope [now] the weather will improve tomorrow. [about the future]
b) I wish the weather would improve tomorrow. [but it won't or might not] OR I wish the weather were going to improve tomorrow. [But it won't]
In a), you are just hoping it will be better.
In b), you have an expectation the weather might not be good, and to express what in fact there is a doubt about it, you say: I wish x would y. That negative expectation or doubt is not in a), which is a "happier feeling" that implies nothing else but the hope.
"I wish" expresses a condition contrary to fact (see the examples above). I hope expresses a hope without any conditions attaching to the semantics of word hope.
Please note: My explanation does not cover the following uses:
- I wish you a good summer. [wish someone some outcome]
- I wish for a new car for my birthday. [wish for some thing]
- I wish to see the shop assistant.
The FIVE USES OF WISH from BBC ENGLISH:
"Wish" is fine, as a native British English speaker I would not use "would" but "will". In general you use "would" (which is the past tense form of will), only to talk about the past, hypothetical situations or (increasingly rarely) for a polite form. One would normally use "will" to talk about things one believes might happen in the future.
So comparing your teacher's:
"I hope the weather will be good tomorrow" - this means you're hoping that tomorrow the weather will be better, but you're not doing anything about it.
"I wish the weather will be good tomorrow." - this is a more active: perhaps you have a magical djinn and and you are using one of your three wishes to command him to make the weather good tomorrow. Wishing is a much stronger act than hoping.
wish the weather would be good tomorrow
It's not wrong, but would only be used on specific circumstances. My feeling is that you would only say 'wish' if you have reason to believe the the weather tomorrow will be bad, such as having seen the forecast.
I just saw the forecast. I really wish the weather would be good tomorrow since I planned to go hiking.
'Hope' is somewhat more passive and implies you don't know anything about the weather tomorrow.
Gee, I hope the weather is good tomorrow so I can go hiking.
My answer is mainly based on the explanation provided in the book "English Grammar in Use, 3rd Edition, 2004" by Raymond Murphy.
"Wish" is often used to complain about a situiation (and this is your case): "It's been raining all day. I don't like it. I wish it would stop raining." >> "I wish the weather would be better tomorrow". Or "I wish it would be sunny tomorrow".
You say "I wish" when something is unlikely to happen and doesn't depend on you, that is, you don't really think it will happen.
But you may also say "I hope it will be better tomorrow" when you want this to happen, although there is still uncertainty.
Thus, you may use "wish" when speaking about the future as well. I wouldn't insist that the choice between Wish and Hope depends on when something happens. It rather depends on the probability of the event, i.e. how probable it is.