I generally advocate straight C when someone wants to "program the Mac", and is planning to learn Objective-C, then Cocoa, etc. because I think the understanding of pointers, control structures, etc. is a real boon. Others like Steve Kochan and many on this board disagree on this being a necessary step (and Steve is a published author with popular books, and I am not), and i'm sure it's possible to become proficient in Objective-C without learning C first.
However, in this case the OP said they want to program. They just need an outlet for their ideas and expressing them in code, and want to know how to "get into" programming. For this case, my biggest concern would be seeing results fast and avoiding frustration when it comes to the programming language, but like myself and others have mentioned earlier, problem solving, logic, algorithms, etc. are what you're really going to carry with you forever when programming, any particular language syntax is just minutiae.
With that said, Python seems like a nice place to start these days. It seems like you can focus less on resource management, less time on building your own data structures, and more time solving problems right off the bat. The documentation that I've read also seems well-written and clear, which I think is very important for a beginner.
To reiterate a post earlier, though, don't stress over the language. Pick one and start coding. There's not a ruinous choice that will cause some irreversible damage. The worst thing a language could do at this point is stunt your interest, which is why perhaps something as "hard" as C might not be best. C punishes you for your mistakes in sometimes mind-bending ways, and as such it might be best to keep in on a list of "will-learn" languages, but start out elsewhere.
Note that I have only mentioned a couple of languages to try to keep things simple. If you want to start with a functional language, scheme/lisp, haskell, etc. are fine choices (though python also supports functional constructs). If you want to start with C++, no problem. I would personally try to progress though the iterative features of a language first, then deal with OOP, then move to functional features or a functional language. I really only recommend this because it was the way i approached things and it "made sense" to me. Starting functional may have been helpful in the long run, but it seemed "hard" when it was introduced to me and that may have served as an early deterrent.
-Lee
EDIT: After looking back over the 3-4 things merged into this thread, a lot of questions centered around education in CS in the future. I am biased, as I studied CS and think it was a very positive experience. With that said, you can program without studying CS. However, a degree gets your foot in the door a lot of places. You stated that you want to start your own company, which is great, but you'll need capital to do that and if you plan to build that capital yourself you're going to need to work for someone else for a while. Along with the benefit of not having your resume thrown out some places because you don't have a degree, studying CS gives you a strong grounding in the theory behind everything you do, and how computers work. I think this is invaluable, but it can certainly be acquired outside of academia. As an aside, i think the school you're intending to reference is Stanford,
http://www.cs.stanford.edu/.