What's the best way to learn?
In your opinion, what is the best way to learn a new language? I seem to learn best by coming up with a project that I want to do and then trying to code it in that language?
What about you? Do you prefer classroom settings? Just reading a book? Videos?
I'm interested to know how other people go about it.
Re: What's the best way to learn?
I've never been in a classroom setting for coding, so I can't speak to that. I do like the path that you prefer, and would use that preferentially, but I also like to have a good reference book handy for something totally new.
Re: What's the best way to learn?
I'd say that it all depends on your exposure to languages so far and the divergence of the language from your existing skills.
I haven't been in a classroom or similar setting in years. But then again, I've been toying and using computer languages since '88. One thing good about a classroom or mentor/apprentice setting (whatever works for you) is that you get the benefit of interactive conversations with someone that knows more than you do and they can nudge you when you venture way off course. That's a good thing if you don't have experience or if the material is very different than what you know.
Just to give you an idea, after learning VB.Net and getting familiar with the .Net framework it was very easy for me to pick up C# without using any material. On the other hand, I'm having lots of trouble with Ruby so I'm reading the book on Ruby, introductory examples and all and I'm pacing myself. I'm an old fart so I also know PL/I and COBOL. I picked up PL/I on my own. But I wouldn't have a chance in hell to do the same with COBOL unless a colleague of mine helped me during my first steps.
Coming up with a project to do while you learn is a generally a great idea, unless the project is big mouthful or you're having trouble understanding what the language is really about.
Re: What's the best way to learn?
Personally I generally bang out a couple of tutorials and then try and come up with a "real world" application to try it out on using resources like forums, reference books etc when I get stuck. Inevitably I discover that the tutorials didn't teach me a fraction of what I'd hoped but they do point me in the right direction and help me phrase my questions meaningfully when I do get stuck.