Some People say that if you try and learn the ropes by yourself then it sticks with you longer hence you will have a better understanding of it!
Yes and No, its a good idea to try and figure something out yourself but if you cant figure it out youve got no hope in learning hence asking questions comes in handy.
For me it depends on the program. Most of the time I like to figure it out myself because I remember more that way. The only exception is if it's really confusing or if its a really big program and I can't learn it all myself.
It would be great if you could figure things out yourself but if you're really stuck then you're just wasting time if you could simply ask someone for help.
Basically what I do is:
- Step 1: Learn it yourself. You'll learn the inteface and feel comfortable with it, though it'll be horribly annoying and you'll never develop anything thats any good (even if you think so, believe me its crap.)
- Step 2: Go away and get someone to teach you. This step will reaffirm your skills, and tell you how the program is meant to be used. You'll learn time tested workflows and methodologies and it'll just make using the program so much more fun.
This works really well, hope it helps.
Learning a new programming language by self-learning methods is the most effective way. However, one must have real interest in trying. A good way is to start a project that you are interested in. Then you will go through the tought period of trial and error. However, the things you learned will be useful and practical. And it is fun to tackle a problem all by yourself. You may be frastrated trying to solve the problems, but you will gain self-esteem after you searched the answers via Internet, forums, book, etc and finally solved the problems.