Traditionally, to learn programming, it's been advised to learn C as most languages use syntax similar to C and you'll learn procedural programming. Later then learn C++ to learn Object Oriented Programming, which you'll need to know as well. While that was often the case, it's a boring road for many people to learn C and then C++ as most likely you'll just be doing terminal/console programming long before moving on to any GUI work, which requires to learn some kind of framework.
A perhaps more enjoyable way to learn programming basics is via some web scripting language like PHP or ASP.NET (using C#) . Just learn about how to make variables, loops, arrays, etc. You could learn ActionScript and make flash applications and you'll learn OOP too.
Or you could learn Java, but you'll have to learn OOP right away but that might not be a bad thing.
I learned the traditional way by learning C and C++ some 15+ years ago, and it was a chore for me. Hard to keep me motivated, that is until I moved onto web application programming and C#, Java and Python was far more fun for me than regular C. Objective-C and Cocoa/Cocoa Touch is really fun too, but I already had a grounding in programming so it was a fairly easy and fast transition for me.
So in short, just learn the basics of programming in whatever language to get your head around programming concepts. If you decide not to learn C/C++ first, then I'd probably stick to Java (with Eclipse IDE) or C# (by downloading the free Visual Studio Express) to learn stuff. PHP is not bad, but some of it's syntax is peculiar and OOP is a bit of chore in PHP. Java and C# are better for OOP and are closer to C syntax than PHP so you'll have an easier time moving on to Objective-C and Cocoa Touch later.