Tao of Programming¶

Do you feel frustrated when you keep getting error message from the Python Interpreter? Do you find yourself making little progress at some stage of your learning? I am sure you feel like giving up. You are not alone, almost every beginning programmer has to go through this pain. I was reading this book titled “Using Google App Engine” by Charles Severance, and I like the way he describes the different phase that a beginning programmer goes through. Before you decide to give up on learning programming, maybe you would like to reconsider and give the language a second chance to get to understand you.

As a beginning programmer, you will likely go through three phases:

In the first phase, you hate the computer and you hate Python. It seems that no matter what you do, Python always tells you "Syntax error" or "Traceback." You read the book, and try to get things right and gingerly hand a bit of code to Python. Python seems to dislike you personally and nearly always rejects your submission as "not worthy". You start to feel like an insignificant worm that Python hates and rejects your "almost perfect" submissions no matter how hard you try. Sadly, many people get to this point in their first programming class, give up, and vow to choose a career that is as far from technology as possible.

In the second phase, you realize that when Python is telling you "Syntax error" or "Traceback", it means that Python has become confused and does not know what to do next. Python is kind of like a puppy. A puppy will listen to whatever you say and seem interested in everything you are saying but a puppy only understands a few words like "food", "fetch", "sit", or "walk". In the second phase, you begin to feel superior. You realize that when Python gives you an error, Python shows that it needs to keep coming to you for help and guidance and purpose. Python is nothing without you. You are the wise and powerful programmer. Sometimes you write a loop to make Python sum up all the numbers between one and a million just to show it who is boss.

In the third phase, you realize that Python is actually a great help to you and that Python represents the collective intelligence of hundreds of programmers who have given you some powerful and brilliant tools and capabilities. When you face a problem, you are not alone -- you are facing the problem with the programmers who built Python at your side. All you need to do is use the right bits of Python and combine them to solve your particular problem. Sometimes when you are in a hurry, your instructions have a little mistake. When you make a mistake, Python courteously gives you an error message that includes clues as to what Python thinks you have done wrong. After a while, you will be able to quickly look at the error messages and have the clues jump out at you so that you can fix the tiny mistake you have made. You and Python are partners who help each other along the way.

– By the Author of Using Google App Engine, Charles Severance