This is the way I learned to program (covering those basics in a few days, then teaching myself everything else, including "ask around" in this forum). I am not sure that I am a good programmer by the criteria of all posters on this forum, but I still wouldn't change this way of learning C++ for anything. |
No, books is a good way to learn and I'm not saying to change that. I'm saying they need to stop pumping out books that just cover the basics and then drop you off in the programming desert leaving you to find your way to the next outpost without a map. I think if a person is going to learn from a book they should look at a few tutorials so they aren't completely lost then purchase a book like C++ Primer, The C++ Programming Language (maybe a little more advanced then needed, but a great reference), or talk to a college CS professor and find a list of CS programming books as they cover basics and advanced so you aren't completely lost on what the language can do and what features it has.
As you pointed out you learned the basics from books then asked here. That is great. My point is that if you only know basics, now you have to rely on others to give you an answer to your problem and hope they aren't misleading you. I've read C++ for DUMMIES, the whole Teach Yourself C++ series, and then started asking question at Allegro.cc where I was met with "Learn Perl, Ruby, Python, Assembly, C, C#, Java, etc to see how other languages do things then go back to C++." 12 years of this out of my 14 years of doing this (its no wonder I never became better than a beginner). Due to being there I began to doubt myself, started lurking and stopped asking questions. Only recently, after joining Cplusplus.com, did I finally start feeling like I could ask questions without ridicule for my not understanding something.
Just recently a guy told me it was worthwhile to learn assembly. A few posts later I told him I was going to re-learn assembly with Emu8086 that I bought while I was doing assembly things in my Computer Architecture course at DeVry (please try not to laugh too hard). Then his next post was basically it is fine to learn it for fun but the question is why? They contradict themselves all the time, I don't see how anyone could learn anything at that site. I've got to the point where I purposely troll the site knowing it makes them mad. They think I don't do anything when in fact I started reading C++ Primer to solidify the basics and learn advanced topics. A.CC (as they have come to call it over the years) keep pushing the idea that knowing the language isn't important, just make the game and worry about the language when you hit a roadblock.
I've want to be a game programmer, when I started stressing I wanted to get better at my C++ programming I got this as a reply: "There's something I don't understand, do you want to make a game? or do you want to become a better programmer? " The point of that part of the rant is that you have to be careful where you chose to seek your help because some help is mostly idiots thinking they know everything and once you show a sign of stumbling they deem you unworthy to program and ridicule you.
I've read numerous reviews that Cplusplus.com is THE site and to avoid Cprogramming.com when it relates to C++ so I'm glad that there is one community that actually is helpful and doesn't focus on the negative all the time. Okay, I'll stop ranting aimlessly now.