Identify your goal
Language learning programming is quite an interesting experience, but before embarking on the process of learning should clearly state the purpose. For what purpose you need the knowledge of a programming language? Perhaps you want to become a web programmer, flash developer-games or to write applications for the iPhone.
Select the programming language
Learning programming it is recommended to start with C#. This is the basic languages, and they represent a an industry standard programming, their knowledge is considered a must for any professional programmer. Don't start your training with such programming languages as Java. The syntax may seem confusing. Languages C#, for some beginners may be too complex, in this case, you can start learning with Python, also a good basis for beginners.
Learning the basics of programming you can go for about a year. You have to know the features of procedural and object-oriented programming, principles of work with binary trees, arrays, lists, etc. Only after learning the basics move on to more complicated tasks.
Visit the sites of the developers of programming languages, study the documentation. Be sure to talk on the forums of the programmers, they usually answer most questions beginners.
Math
If you want to learn programming, you just need to know math. In the process, you have to face many problems that cannot be solved without knowledge of the basics of this science. There are a large number of mathematical equations, theories and systems (Fourier series, Fibonacci numbers, etc.), which significantly simplify the programming process.
Training does not end
Evolution of programming languages is not in place, their development is ongoing. Try to read as much literature on the field of programming, where you plan to work. Always look for alternative solutions to arising problems, it will help you to constantly improve the efficiency of your generated code. Talk with professional programmers, they will always be able to advise how to deal with a particular problem. Read codes of their programs will also bring you great benefit.
Impossible to keep it all in mind. Feel free to use reference books on programming languages.
Programming tasks, however simple they may be, will never be decided hurriedly. They always need to develop a correct algorithm of actions effective in this particular situation. The search for optimal algorithms requires constant practice and training. Most try to solve a small programming tasks (you can find them on specialized sites), it will help you gradually hone your skills in this area.