I dreamed to create a game. That's why I actually started programming.
I wanted to create animation.
When I started with Basic I noticed that Basic interpreter is way too slow to update video memory (even for fraction of screen).
Then I discovered world of compiled languages with Pascal. It was much more fun than Basic but still too slow to update video memory.
Then I moved to assembly language (actually I only had list of opcodes and I had to put them in memory directly). It was much more fun than Pascal and speed was great but still not enough for animation if you write straight-forward implementation.
Then I discovered that if you put performance-critical code into lower-memory addresses it runs much faster.
Unfortunately, I didn't finish my research because I had no access to internet and books.