I spent a whole part of a year studying the merits of individual languages before deciding on Python. It was mainly due to the openness of the language. I was able to explore how the standard library worked, and after a couple days I was shocked to realize that the developers of Python used nothing more than what you have in front of you to make exactly what is in front of you.
I believe it's this sort of thinking that will carry you further in the pursuit of understanding how a computer interprets higher-level instructions. The argument that C is a "low level" language has no bearing in the study of assembly, or better yet, hardware design and general logic.
This is my warning; do not start with computer programming to understand computer programming. First, take a class in relational database design. If you can't handle the "coding" in that area, look for another course of study. SQL demonstrates the key components that are universal to interacting with any aspect of a computer (troubleshooting, debugging, looking up commands, etc.). Plus, you'll start to learn another important concept: how to design a better system and therefore, save yourself work in the future. Computer programming, unfortunately, is akin to athletics in the 21st century. Most new students want to learn to play basketball to slam dunk (or hack some banking software), instead of learning the basics. Design an information system, and see the similarities between the languages, not the differences.
Again, learn the basics. Get into HTML. Make a webpage. If you can, pick up HTML5.
Finally, once you've read enough error messages to make yourself sick, pick up a brief exercise or two in PL/SQL, something so low level and ancient that it'll make you want to quit learning. And then remember...people use this stuff everyday. Cursors work extremely fast. They are also a humongous pain to manage. If you've survived, you'll understand why MIT is moving their students away from these types of languages. If you think cursors and explicit code blocks are verbose, wait until you get to manual data-type changes, managing pointers in the correct order (and in proper fashion), while also learning the core practices that are meant to make you a better programmer.
Hopefully, you'll begin to understand that, although slow to execute, Python stays out of your way. It lets you explore the computer, not make it happy. Someday, you'll find some sense of joy in preparing a computer for the instructions that you're about to type, because you know them well. Later, you'll feel the agony of modifying every last one of those lines when your boss wants to change something "little" in the functionality.
With the gains we're experiencing in hardware, half of what you'll do is just throwaway nonsense anyhow, preparing yourself to write that one, good thing that will work well and do exactly what you've told it to. Don't expect to get there without a lot of hard work.
That said, here are the survival tools of the computer programmer.
http://www.codinghor...he-revenge.html
*this is a blog posting about the book "Code Complete 2". Get it. It has a comparison of many common languages, and breaks you gently to the fact that you're going to need C++ or Java in the real world. At least.
http://stackoverflow.com/about
*visit here often. These people will not tolerate questions such as "which programming language is best?". Come with your language declared, and some code examples. Thank you.
http://catb.org/jargon/html/index.html
*start here if you are overwhelmed. This introduces you to the hacker community, and more importantly, what a hacker is and isn't. Very entertaining.
http://catb.org/jargon/jargoogle.html
*terms from the hacker dictionary. Most are educational, and also...most are hilarious. If you can't learn with humor, I suggest you stop learning computer science right away.
http://docs.python.o...rary/index.html
*use the quick search. If you don't know how to state your problems computer-progmatically, you don't have a problem yet. This will show you how to talk to one once you do figure it out.
http://docs.python.o...rial/index.html
*hopefully this will make sense to you eventually. This is for understanding some of the slicker aspects of the language. It helps to type out the examples at least 3 - 5 times.
http://curiousreef.c...0-introduction/
*MIT is the gold standard. They keep it open, and difficult. Go check out the required reading. I have!
http://ocw.mit.edu/c...08/assignments/
*When you get all of these done, you'll very likely be the best computer programmer around. But not on the web! You'll still know very little, so keep learning!
*All of this should take you about 3-5 years, working on it about 8 hours a week. When you're done, you'll learn new languages in about 1 - 2 working 20 hours a week (you'll have a job by then).
Good luck,
Andrew