What is the best way to learn programming?
As a friend and I were walking through the Barnes and Noble Technology section today, he asked me "I want your opinion on what you would do to learn one of these programming languages today". My response was "I would buy me a subscription to PluralSight.com and get serious about learning from there".
Let's face it. You have many options today to learn something new. If you have a computer and an internet connection you learn just about anything. You can learn most of what you need to know from the internet and yes the internet has a lot of your answers and you can learn it for free. The problem is that you get what you pay for. You may actually pay more for something that is free because although the monetary cost is zero you end up paying with your time. That's the caveat on learning anything for free, you may just spend a lot more time than necessary trying to be cheap.
That is why my top choice for learning programming today is PluralSight.com. There are many options such as Udemy and Khan Academy, Lynda.com etc. For programming I would definitely pick PluralSight. PluralSight has simply had the best quality of all the videos I have seen.
Udemy is a good option and has a good format, however the problem is that sometimes you might end up with a crappy lecture and find out only after you've already paid for it. I like the idea of owning the video for life but if it's not worth it, why would you want it for five minutes. With PluralSIght on the other hand you can abandon the video and move to a different one if you don't like it and you stay pay the same monthly price. PluralSight is $30/month and you can watch as much as you like.
Books can be a good option but I would reserve buying books for things not offered online or for full references not otherwise available. When I started my career we had a few options of learning things online but for the most part the real answers were buried in books written by experts. Today things have changed.
Most of what the experts know can be found online. However, the drawback is that online information is not neatly organized so sometimes you may need that Expert Programming book. However, I have found that learning from video tutorials is much more natural for the learning process. Reading a novel is one thing. There is a natural flow of engagement, but reading technical books takes a lot more brain cell processing. Technical documents tend to trigger other thoughts and ideas which interrupt the natural flow of learning. I've always found it more natural to watch a video than to read a book. Maybe that's not the case for everyone but it may be for many people like me. So I would reserve using a book only if I couldn't otherwise get the information.
Also it seems that I can finish a video tutorial on a particular technology, including, hands on within a couple of weeks whereas it takes me many more weeks to actually read and understand the same thing from a technical book Many times it's hard to even get through the book.
What about you? What works better, videos or books?