The majority of the times that I've taken on the task of learning a new programming language I've gotten myself knee-deep in twisted and confusing documentation and reference pages. Lost in the incredible mass of confusing objects and methods, I usually default to guess-and-check work. For days and days I'll work on the most basic projects until finally I've etched the syntax so deep into my brain that I can't possibly forget. It's a grueling process, but unfortunately it's been the only one available without paying for formal training.
When I first started to learn about the LAMP stack I discovered an invaluable resource to help ease the pain of those nonsense reference pages.
StackOverflow is a Q&A website built for programmers. SO has got an incredibly diverse community - ranging from beginner programmers looking to get started on a language to career programmers eager to pass on their wealth of knowledge. It's an extremely large community and an invaluable resource that should be in every programmer's toolbox. There are plenty of Q&A sites out there focused on programming, but SO has completely revamped the idea of Q&A - and has managed to make it fun. Jeff Atwood describes StackOverflow in one of his
posts on Coding Horror like this:
Stack Overflow has many overtly gamelike elements, but it is a game in service of the greater good – to make the internet better, and more importantly, to make you better. Seeing my fellow programmers naturally improve their written communication skills while participating in a focused, expert Q&A community with their peers? Nothing makes me prouder.
This is what makes Stack Overflow fundamentally different from any other Q&A site out there. The goal is the same - to refine each other's abilities - but the method is completely different. SO at its very core is a system built to make the exchange of programming knowledge incredibly fun. Stack Overflow uses a reputation system, meaning that whenever you contribute to the site you are either rewarded for your submission, or punished for some bad insight. As you gain more reputation you can access more features of the site, which again allows you to further contribute to the community. SO is built around the same model as most of the well-known internet gaming titles - people want to progress in a community, and love to compete to be the best. The most exciting thing about StackOverflow is that, while we are eagerly fighting to gain those reputation points, we are actively sharpening the skills of the programmers around us.
I would encourage you - if you're programmatically inclined - to head over to Stack Overflow. SO is an organization with a vision worth following, and there really isn't a better collection of programming tips, hints, and discussions available. While you're there, feel free to check out
my profile - perhaps some of my Q&A's will help you out.