I get those programming dreams but have always really disliked them, and find I wake up feeling like I didn’t actually sleep, even if I was in fact asleep all night with code flying around in my brain like tetris blocks. I’m not sure I’ve ever woken up with a great idea after one of those nights.
I do find, however, that solutions to sticky problems pop into my head in the shower, during a long steady run, or after a walk in the park, which I guess is a similar phenomenon.
I got those with playing chess in my dreams. Always some difficult position that I need to find the best move in and when I finally do, the board size grows and somewhere "over there" is a bishop or a rook or so screwing up my whole previous plan, making me have to think all over again, but with a bigger board and an even more difficult situation.
Woke up from those somewhat with a headache, not well rested.
[Spoiler-free] Reducing the brain to an advanced calculator is a basic premise if Murakami's cyberpunk fantasy book Hard-Boiled Wonderland and the End of the World. One of my favorite books.
I don't feel tired when I wake up, but I don't feel like I 'reset' either. I've had a couple of times where I'll wake right up and bang something out like I was being dictated to. It's almost like all the pieces were already there in your mind and they fall together when you aren't trying to force them. Brains are weird.
Vivid dreams usually happen during REM sleep, which is the deepest phase of sleep. So if you are dreaming, you are probably getting good rest, even if it doesn’t feel like it, e.g. because you woke up suddenly during a dream, rather than after it.
If you’re excessively lucid dreaming you get terrible sleep, anyone who has trained themselves to lucid dream will tell you that. There may well be a simple explanation but I’m on my phone so it’s annoying to look things up.
I do find, however, that solutions to sticky problems pop into my head in the shower, during a long steady run, or after a walk in the park, which I guess is a similar phenomenon.