Learning a programming language is easier than it seems. But if you claim to learn any language without spending lot of time, you need a good scheduling and a little organization.
It's logical, a building can't start from the roof: We need a solid base where we can begin to build a house; However, the methods I learnt from my University 3 years ago were not the best method to begin.
I begin learning Java, a full Object Oriented programming language. Omg, that was horrible for me! OO languages are great, fantastic, but are horribly for beginners, especially if you've never programmed before. In OO, there are lots of concepts that at first, they may be "innocuous" (Inheritance, Polymorph, Encapsulation...).
When I began, teacher spoke to us about unknown words: class??? method??? (I understood the word method like 'methodology', not 'function'!), and bad explanations about that... I was really disappointed and I lose my heart.
- If you really like programming, and you want to do great things, be patient, keep going, the world was not made in seven days!
- If you are a really beginner, please, don't start with a full oriented programming language like Java. Begin with something simpler, like C or PHP, where you don't need to apply the object oriented concepts (reserve memory space with news, pointers, class, attributes... more complex concepts for a beginner).
- Read! Read! Read! Be used to read! For your mother, read! For you, read lots of manuals and tutorials until you understand the concepts! You can find them around de WWW!
All programming languages have little examples for testing. The most popular and simplest example in all programming languages is "Hello World" (or "Goodbye, cruel World" xD). This example will give you a simple and basic concept about how the language works.
- Practice, practice a lot, it's the most effective way to learn a programming language!
Doing this, you will get some notions about language syntax, but it's pretty harder to be a good programmer. Making programs requires lot of logic, a heavy and solid mental structure (where I must put a while? Where I must put a condition?). For me, acquiring this mentality required more than 1 year (omg! you could say). Well, be a good programmer requires a lot of time, a lot of reading and a lot of acknowledge (practice, too) for acquire this mentality. But there are strategies to accomplish this.
Programs can be crazy for you: you open a program, and usually, you will ask yourself: How has this program been made? You must divide the problem in more little parts: Which operations are hidden? Which data must be shown? Which parts is this part of the program composed? Here we enter in a basic and, maybe, the most important word in programming world:
Abstraction, in simple words, means "Divide a problem in less difficult problems that you can solve easily".
EDIT 20:34
Read tutorials and manuals about how to be a great programmer (It's easy, the only requirement is motivation).
My counsels:
- Begin programming with a language like PHP or C (in his single form, without touching OO).
- After that, try to do any interesting program, or be practiced.
- After that, try an object orientate language, like C++ or Java. Learn the meaning of inheritance, polymorph, software changeability... You can find lots of manuals about these languages, but if you want to understand the benefits from Object Oriented languages (I can't live without them) read Software Engineering books, and understand the design patterns.
In the future, I will enter harder with this theme through my project (probably), but I love Software Engineering and sure I will write lots of articles about this world.
I couldn't disagree more with you, but it's too late in the night to give you a full answer. But I will, don't worry.