Disclaimer I don’t program as much as I’d like to anymore, doing a lot more Sys Admin work. I also only ever worked on the Apps side of things, never the OS level, so please keep that in mind.
Depending upon what you want to do, what and how much you learn to program will vary. If you just want to do some data processing type programming, you might be more interested in learning some shell scripting. It might not be pretty, but it can do amazing things, and you can grab cygwin to learn, or use knoppix on CD (but that takes a reboot).
If you’re interested in something with more power, and are sticking to Windows, I would recommend Java. Might not be supported on Haiku yet (or possibly ever, who knows). It is fairly easy, teaches the basics of program flow and OOP (Object Oriented Programming), is platform independent, has a lot of tutorials, a well documented API, the Eclipse IDE (or NetBeans is free now I think, nice GUI editor in there), and is pretty similar to C++.
If you go that route, and want to program for Haiku, I’d recommend “C++ for Java Programmers” by Mark Allen Weiss; it’s a very easy read and has some good examples once you feel comfortable with Java. From there, “Programming the BeOS” linked from this site is probably the next step.
Whatever route you go, remember to keep your expectations reasonable. Don’t expect to be able to create the ‘Killer App’ in 3 months, it’ll just drive you away. Find achievable goals and take pride in what you’ve done. A command line program that takes in RGB values and builds a simple web page showing them off in Hex is not difficult, but it’s a good ‘I Did It!’ program to learn with. Also, play with whatever tutorials you do. Push them. Try out everything you can and see what works and what doesn’t. More applications have been built from a simple ‘Hello World’ base than I think most IT managers would like to admit…
What your goal is will dictate what you learn more than anything else. If you want to learn to write drivers, C would probably be the thing to learn (although it sounds like the Haiku devs are doing some crazy low level stuff in C++). If you want to make cool GUI apps, C++ (or Java) is probably a better fit. If you want to parse and clean up log files, scripting is the key. Each of these examples has a lot of exceptions, but the languages you choose to learn are just tools to reach your end. You wouldn’t dig a hole with a hammer, or drive nails with a shovel, you could of course, but you use what’s best for the job at hand.