When I was about 10 I'd started reading Rookie Programming on a family trip to California one summer, before we had a computer. One of the nice things I remember about that book was it showed you the same introductory concepts in three different languages: BASIC, C and Pascal. At the time I remember deciding to focus mostly on the examples in C, but getting used to seeing the same concepts expressed with different syntax early was probably helpful
During the long, hot car ride from Portland,Oregon to somewhere just outside Sand Francisco, I wrote my C++ code for a game I had in my head out by hand. I was sure it would work without a hitch by the time we actually got a computer I could type it into.
Some time later we did get a computer — A Packard Bell 486SX with DOS 5.0 and Windows 3.1 specifically. It pretty much looked like and matched the specs from the model on this page on the Packard Bell Planet Wiki, which is a thing I sort of can't believe still exists in 2017. Equally unbelievable to me are how many copies of the manual seem to be floating around on eBay.
Along with this computer I got a copy of Borland C++ 4.0 courtesy of uncle who worked for the company at the time. I remember our machine had a tough time running it and the learning curve of the IDE, in a pre-Internet era, was perhaps a bit steep for adolescent me. I got some hello-world-level programs to run and spent a lot of time reading the manuals, but the programming environment where I ended up doing most of my learning was in QBasic and eventually QuickBASIC 4.5, courtesy of some nerdy associates at school who agreed to sell it to me for $5 as I recall.
Looking at the blue startup screen on Wikipedia, I still get nostalgic. In particular I remember 4.5 being "the ticket" as it allowed me to compile my BASIC programs into executables I could actually take to school or my friends house to share. In particular I remember a suite of screen savers I'd made and was proud of — balls bouncing around the screen, abstract shapes drawing themselves, little snowman like characters dancing and jumping and running around the screen. I also spent a lot of time working on a game called Space Chicken — so named not because your to protagonist resembled poultry but because his one, cowardly tactic in the whole game was to avoid running into things.
I spent a lot of time in that QuickBASIC program, learning the ins-and-outs of loops and iterating over arrays, battling insufficient memory problems, peeking and poking hardware addresses to dial phone numbers, learning to work around the limits of a 16-color palette and lots of other problems that, in retrospect, were pretty decent work training for the career I'd eventually land in.
You can still download QuickBASIC today via QuickBASIC Cafe. One of these days I'll have to see if I can find my old QuickBASIC programs...