I started programming on an Atari 400 XL when I was 12. Taught myself BASIC, then 6502 Assembler (there's nothing like moving things around in memory 1 byte at a time). That lasted me until high school where I learned Pascal and dBase. Pascal in its various Borland incarnations sustained my career until about 12 years ago when I switched over to database programming using MS SQL Server.

Other languages I've used include x86 Assembler, C++, RPG, COBOL, IBM 370 Assembler (nothing like moving things around in memory 256 bytes at a time), PHP, and probably a few others I'm forgetting. And of course, C#, which I have to say has become my favorite, especially on the new Windows phones. More recently I've been working with Java on Android devices.

Fixing a tricky bug, or slapping an algorithm around until it does what I want it to still makes me a happy man. We've come a long way from interrupts and TSRs and 640K memory limits and all the other fun things we used to have to deal with. You young whippersnappers have it easy ;). I can't wait to see what the next 30 years have in store.