phil karras
Senior Member

Joined: 15 Jul 2002
Posts: 1685
Location: MD
|
Posted: Fri May 14, 2004 7:50 am Post subject: Hints: On Understanding what programming is all about, or... |
 |
|
Hint: On Understanding what programming is all about, or "What am I missing?"
If you've come here, you have come to a point in your learning programming where everyone comes eventually. To become a programmer you need to go beyond where you are, you're probably stuck at a point where you understand the building blocks but not how to really put them all together to build a useful program.
Let me first explain the stages of learning to program:
The first stage is becoming familiar with the language, second you become familiar with the syntax, third you start programming, fourth you start to realize that something is missing, this something is the deep understanding of the whole process of programming or it could be the "brick wall." You can do so much but there's something missing such that when you come up against a problem you do not know what to do or you can not see why there is a problem.
At this point you need to know that what you are trying to do is to teach yourself how to live within the restricted universe of the programming language you are working in. Once you truly understand the difference between your universe and the restricted universe of the programming language you'll be free to concentrate on creating a program within that restricted universe, or that sub-set universe.
You should probably reread that last paragraph, perhaps even a few times because it is the basis of the problems of all beginner's problems at one time or another. And yes I too was once there, but for me it was while learning FORTRAN back in 1969-1970 as used on an IBM 1130.
We have a number of articles to help with commonly asked questions. They are at: http://jsworkshop.com/articles.html and they will help with debugging and other common problems.
I'll now tell you that:
1. No, you are not alone, all beginners go through what you are going through, I did, as did everyone in my original FORTRAN class. It was the most interesting class I was ever in, at least in the case of seeing the understanding hit someone. Have you ever heard the saying of, "it was like someone turned on a light?" Well, that was what this class was like. As a person truly understood what programming was all about is was like a light would turn on for them, and what was truly amazing to me was that we could all look around the class and see for whom that light had turned on, and for whom not. This did not mean that those for whom it had turned on had no more problems, but they now understood why they probably had a problem and they were better equipped to find and fix it.
2. We used to call it the "brick wall" because until you find away around, under, over, or through it you will never be able to be a "real" programmer, that is, one who can be given a programming task and design a program to the solution.
3. The biggest problem for beginners once they get around the wall, and most people do, but not all, is debugging. You see, you can be a very good programmer, but until you understand your own common mistakes, basic debugging, and debugging in general, you'll never make it to the confident programmer level. After all, how confident can one be if s/he knows that they can create a program but if it doesn't work correctly they won't know why, or how to find out why and be able to fix it?
I hope this helps. There are no programming "secrets" you just have to keep at it and if you have what it takes to be able to restrict yourself to the sub-set universe of the programming language then eventually you will get over the wall and it will start to make sense to you. Then you'll be well on your way to being a real programmer.
Good-luck & happy programming!
_________________
Phil K
Circle Software Consulting
Test website: http://cs.yrex.com/
Guidelines for Posting: http://jsworkshop.com/posting.html
IHBAAA = It Has Been Asked And Answered
KISS: http://jsworkshop.com/bb/viewtopic.php?t=508 |
|