I started programming on an RCA Spectra 70 in 1969 (punched cards!). I moved to the 8080, z80, 8086, and on to present time (with some other manufacturer's processors thrown in). I've been writing for Windows since the mid '90's. I've been doing real-time and embedded programming since the '70's. I love writing software that controls equipment.
I like to joke that when I started, we made our own memory. We used white rocks and black rocks, so if you needed more bits you just went out and got some. Of course the bears, Indians, uphill both ways and the snow were problems...The only trouble with white rocks and black rocks was that it was always snowing, so we kept losing the white rocks.
I'm mostly a C++ and C# guy at the moment. I use the Boost library when writing C++ -- it vastly simplifies many tasks, it is very high quality, and it is free. Several Boost items are described in TR1 (Technical Report 1), which influences the next C++ standard.
"The C++ Standard Library", Nicolai M. Josuttis
"The Pragmatic Programmer", Hunt & Thomas
"C++ Coding Standards", Sutter & Alexandrescu
"Effective C++", Scott Meyers
email: Joe.Osgood [place the usual symbol here] comcast.net