The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I need something the technology I'm about to learn is great for. I remember learning OOP from having a task/scheduler project, I had several (related) types of tasks and have solved that via inheritance. Before that, OOP was for me "Namespaces separated by dots" because that was all OOP was doing for me that I needed.
But that's maybe just me. I'm a practical guy and I strugge big time learning something for the very sake of learning it. I need a project, a goal with the new stuff being a better way to reach that goal, then my previous knowledge. Otherwise, I'll do things the most effecient way and if that means that I won't learn anyting new, then that new wasn't a good idea to learn in the first place.
Learning strategies depend on what kind of a person you are.
I for one can be a bit impatient when trying to learn something new unless I get to do something with it. This is a reason a lot of my learning projects never finish.
OTOH, the things I learn while doing hands-on, tend to stay with me for a while. Can't say the same with reading books and then diving in.
However, I'd pick books over video tutorials any day of the week.
Randal Vance Cunanan wrote:
Let's put React.js for example. I can simply learn react by looking at the "Getting Started" and some basic concepts, and then start coding immediately. But then I will miss concepts like redux and other patterns if I don't read an entire book.
React.js is easy enough to start like that and I do not think there is any harm in it. I'd go for the more advanced concepts only when required.
I prefer to learn basics by watching videos, and reading article. and then try to find out running projects for the same topic on Github or any other online repository, and then tweak my changes in the project to capture advance features of the technology.
I like the SAMS books, e.g., "Learn XXX in 21/28 Days". This provides the basics along with coding examples to follow and practice problems to do. For anyone with coding experience, the first 5 to 8 chapters are a breeze though -- the later chapters generally take 30-60 minutes, including practice problems. Note: the books are uneven in quality, but overall I have found them useful.
Then I do something real. I've written address book apps in numerous languages, as I know the requirements and it hits the major points (DB access, display lists, editing, reports, etc.)
After that I hit tutorials and videos for specific things that I need to know. Once I get past the basics, I learn best by doing.
I can't stand that kind of books. Everything in the book is pretty much easy enough on its own and I feel like I have wasted money almost immediately. I get books I can use to expand my horizons in areas I am likely to need a reference for. Everything before that is easy enough by web example or from IDE help.
I like to read first, then work the samples in the book. From there I start to change the samples to see what happens and what else can be done. How to 'break it' and how to 'fix it'. Then move to more advanced books and repeat.