I have heard that a great programming language to learn if you are in Networking is Python. I began to look around to find out what it would take to learn the language myself. I found a site that looks like it will do just the job, Learn Python the Hard Way. While the title sounds contrary to what you would want, it actually makes since. The best way to learn anything is by practice and repetition. This is how you would learn a musical instrument, or anything really that takes a great deal of time and skill. The author compares it to guitar lessons, however as I have taken piano lessons in my past it applies just as well to piano. In order to learn the piano you would practice your scales, note reading, and learning to play various pieces of music. You don’t just play the entire thing in your first try, you take a few measures at a time, and drill those sections until you become good at that section, then you add a few more sections and repeat the process. Soon you know how to play the entire piece and at the same time more than likely learned it into memory so you can play without the sheet music.
The same goes for programming, in any language. You start with the basics, and practice, typing in code by hand, and trying out new things over and over until you become proficient in what you are doing. I like the style that he uses in the book, and feel it will give me the foundation I need in order to be a great programmer one day.
I have just started in the book, however I am enjoying it very much. I just finished one of the exercises in the book, and made some adjustments to it as well to help learn more. This is one of the things about this method, he gives you exercises to do after each chapter to cement the topics into your mind.
Zed has a few other programming books as well, such as Ruby, C, and SQL. While I am not very good at programming as of yet, I do love it, as it is very logical and it intrigues me. My favourite language so far would have to be C++, however it is much more difficult, yet very rewarding. I went through some of this last semester at Penn State, and want to continue on. I believe my goal would be to learn C, C++, Python, and Objective C. Below is the code from one of my test python programs, it was fun to do, and I look forward to learning more over the next few months. I will have much more time with school ending at the end of April.
name = 'Ivan Windon'
age = 41 # not a lie
height = 74 # inches
weight = 140 # lbs
kilos = weight / 2.2046
cm = height * 2.54
eyes = 'Blue'
teeth = 'White'
hair = 'Red'
print "Let's talk about %s." % name
print "He's %d inches tall." % height
print "Which is %s centimeters." % cm
print "He's %d pounds heavy." % weight
print "His weight in kilos is %s" % kilos
print "Actually that's not too heavy."
print "He's got %s eyes and %s hair." % (eyes, hair)
print "His teeth are usually %s depending on the coffee." % teeth
# this line is tricky, try to get it exactly right
print "If I add %d, %d, and %d I get %d." % (age, height, weight, age + height + weight)