Ironically, my speed is because of MFC. Yes, you read that right. For example, RoboCon, which I started Friday night and finished this morning, took about 10 hours of work. With MFC, only about 45 minutes were spent on the UI.
As for my language of choice, I mostly do C/C++. I say both because I don’t ever write in “pure” C++. For example, I absolutely hate class String, so I use char * and printf, sprintf, etc. Technically, these are not C++ functions. I use to dabble in some Java every now and then, but then I started writing stand-alone applications and so I moved over to C/C++.
If you feel like looking through some fairly simplistic MFC stuff, check out RoboCon. It’s a VERY minimal UI, but it will let you see how easy MFC truly is. If you want a bigger project, look at RoboEmu. Then compare that to RoboGUI, which is written without the help of MFC. You’ll notice that about 3/4 of RoboGUI is UI code, whereas less than 1/10 of RobEmu is.
As for books, I’ve liked everything from Deitel&Deitel that I have. C++: How To Program, 2nd ed taught me EVERYTHING I know about C++, and Java: How To Program tauge me EVERYTHING I know about Java. If you want a good book on the Windows API, check out Charles Petzold’s Programming Windows. It doesn’t cover MFC, but it has just about everything else you could ever want to know. Besides that, the MSDN library is a truly amazing resource. I learned MFC purely from reading throught the library while writing RoboEmu.
As another note, this year (I’m a senior now) is the first year I have ever taken a programming class, mainly because my high school doesn’t offer any. The key is to get a book and start reading. After that, try some of the example problems in the book, and then some of the excercises they provide at the end of each chapter.
–Rob
(As for a special diet, Coke normally does the trick as does getting an average of 4 hours of sleep per night)