I, a 13 year old 'geek', am interested in programming. My initial question is whether or not should I start with C++ or Assembly? I know I probably will end up using Assembly (as I want to be able to control everything that happens with it, and I don't want to rely upon others to code) for my applications, but I think it would be quite difficult, especially as a first language. I would be open to other languages (except Ruby. I hate Ruby, because the way the syntax works, and it's proprietary-'ness'. I also dislike C# and VB because they also are proprietary. Additionally, I want to avoid archaic languages such as Pascal, Cobol, FORTRAN, and BASIC. I absolutely want to stay away from web development (Desktop-only, please). (sorry for the long hate list) My goal is to learn how to program, not to memorize syntax.
If you recommend a specific language, which one would it be? Also, I am a Mac OS X user and prefer learning a language on OS X as that will be my main platform. However, I will still might occasionally do some coding in Linux or Windows.
Once I come to a decision, I will post a following topic in the appropriate category and ask what reference materials you would recommend (i.e. books, articles, tutorials, etc.)
I understand that I won't be an expert over a weekend, but I want to learn, for hobby and later possibly for profit.
I have some prior knowledge with web design, and am fluent in HTML and CSS, but those aren't programming languages.
[EDIT]: I don't want to learn game design. I have no interest in video games, and don't even frankly get any entertainment from them.
Thank you very much and sorry for the long post,