Whether you are a programming beginner or an advanced programmer, it is always good to have a solid background knowledge. So let's start with some programming basics.
As a beginner you may ask why programming can be good for you. For starters, it is surely a good exercise for your brain. It can be an alternative or an addition to brain training software - with a lot more flexibility added on top. It is also good in order to get a more detailed knowledge about computers. Not to mention modern, computerized systems of any kind.
You can of course learn to use different computer systems and software without having to know anything about programming. However the additional knowledge will make it much easier to understand and overcome several problems and errors you might encounter.
Maybe you are asking just what a program is anyway? From the start-up of your computer up to active web surfing or word-processing, software programs are all over the place. Some of the programs are easily recognizable, like the internet browser you are using right now or the editor or word-processing software you use to write your letters etc. Others are more hidden, like the driver programs which connect your computer to your printer or digital camera.
Basically every one of those programs boils down to a list of instructions which the computer follows step by step. Essentially nothing more than a “to-do”-list. The good thing is that a computer is pretty fast when it comes down to actually carrying out these instructions. So fast indeed that modern programs can utilize a graphical interface which makes them easy to use. Just think of the applications in Apple’s iPhone.
Looking at what can be done with modern computers and computer-controlled systems, it is quite interesting to see how this all was started. While the early adding and computing machines were constructed in order to speed up basic calculations of any kind (addition, subtraction etc.), the first programmable computers in the 20th century were used for more complex calculations. The military used them to compute artillery tables for different cannons etc. as well as for decoding secret messages from the enemy.
Compared to this kind of basic computation, today’s programs and operating systems - which are basically just different kinds of programs - are much more complicated. Fortunately things are made easier by the similarly evolved programming languages and development environments.
Let’s come back to the question of why and how you can benefit from learning how to program. I already mentioned the additional understanding for your computer hardware and software.
The more obvious use of programming knowledge is to use it to solve your own problems. While software cannot solve every problem, it can be helpful in a lot of different situations. Maybe there is no ready-made program to help you with your problem. Or all of the relevant software doesn’t fully fit your needs. In both cases, programming your own software or modifying available “open source” software might provide a solution.
With a little additional experience, parts of your programs can easily be recycled for new programs. Once you stop yourself from creating so called “spaghetti code”, watching out to keep your program code flexible, you can build your own software “Legos”. These in turn make creating your own programs easier even as the complexity is increasing.
Object-oriented programming also can make your programming life easier in the long run. Don’t worry though, this is much easier to do than you might think.
Once you get around to writing your own programs, there is no limit to what you can create. Specialized tools which solve your own specific problems are one thing. You can as easily go on to create professional database applications. Start with a few useful functions in your application and build it up step by step from there. Just like you would build a house.
If you like to play games, you also can use your programming knowledge to create your own computer games. It might take some time to give them a professional look and feel (even with other people to help you), but you can do it.
Then of course there is always the possibility to create something totally new. Or to write programs to create art, or even do it as an art form in itself. Look no further than the “demos” created by the “demo scene”. These are amazing entertainment programs, done within limited resources and using astounding programming techniques.
Once programming has allowed you to really master your personal computer, you might be ready to explore further terrain. In today’s world computers are steadily spreading to more and more applications. With ever increasing computer power (see Moore’s Law) and enhanced microcontroller chips computing becomes ever more ubiquitous. And every platform and application needs programs in order to work.
From your TV to your new car – integrated computers and specialized programs are everywhere. If you want to build a modern application or production tool chances are that you will have to integrate electronic control mechanisms. Those will most likely require some kind of programming.
So however you put it, there is no way to escape the power of programming… :-)