Hi! I know alot of people try and learn C++ by themselves,and I am just interested to know how many people here have managed to become good by learning themselves. Also would be interesting to know the general perception of self-taught programmers by profesionals is?

Just for the record I was taught a bit of C and am now trying to teach myself C++, i'm not aiming to become professional but I know some people who do. Personally I struggle with a lot of the more technical/subtle details and I can see this being a common problem for people teaching themselves unless they are really clever.

Recommended Answers

All 4 Replies

Well, I would like to say i've become a fairly good programmer and im fully self-taught, but the really trick to it is READING!, you will want to buy yourself a decent C++ book if you want to learn anything fast. You also have to be willing to practice, and not to give up the second you get a problem, and if you get really stuck, you can post the problem here :)

Hope this helps.

>I am just interested to know how many people here
>have managed to become good by learning themselves.
I'm largely self-taught. You can decide for yourself if I meet your definition good or not.

>Also would be interesting to know the general perception
>of self-taught programmers by profesionals is?
The best programmers I've met (professional or otherwise) were all self-taught.

>Personally I struggle with a lot of the more technical/subtle details
Everyone struggles with that, especially if the details can't be compared to existing knowledge.

>but the really trick to it is READING!
Read everything you can get your hands on. Books, blogs, forums, code, everything. But more important than reading is practicing and experimenting. Sometimes there's simply no good documentation for what you want to learn and you have to dig into the guts to figure it out. That's how the really good programmers got good. As I lovingly call it, the "Figure it out your damn self!" teaching method.

commented: I figured you were self-taught =P +4

I joined Daniweb about 3 months ago, and during that time I started self-learning C++.

Amazingly, a lot of knowledge of Java migrated to my understanding of C++ and vice-versa! By understanding pointers and references as well as learning the Object Model of C++, I started to better understand Java!

Some advice? Don't reinvent the wheel! Use vectors (or safe/auto_ptr) instead of raw pointers if performance isn't an issue.

Also, a few books you might want to pick up if you want to make effective programs--

Suggested list (in order)--

-The C++ Primer (by Stanley B Lippman)
-(Any book, or reference that goes over standard STL)
-Effective/More Effective C++ (By Scott Meyers)
-Exceptional/More Exceptional C++ (By Herb Sutter)
-Effective STL (By Scott Meyers)
-(Any book that thoroughly goes over Data Structures and Algorithms in C++)
-C++ Templates (the first 2 chapters) (By David Vandevoorde and Nicolai M. Josuttis) [optional]
-The C++ Programming Language (By Bjarne Stroustrup)
-C++ Templates (the last 2 chapters) [optional]
-Inside the C++ Object Model (By Stanley B Lippman) [optional]
-(Any book/reference that goes over Boost)

-- if you go over those books, in that order, and also make effective practice of rules and guidelines from each book and have a solid understanding of the material presented in each, you can tackle most obstacles presented to you via C++

But of course this might be a long, repetitive and tedious process. Pick up a fun book to use too, like one that deals with Game Programming, TCP/IP, Databases, Device-Drivers, Multi-threading, Algorithms, etc =)

I'd like to finally read through The C++ Programming Language (By Bjarne Stroustrup), but I have been warned that it isn't a book to simply read to learn... it's a reference, which is why I placed it so far down the list @_@

The concept in C++ Templates isn't completely portable across different languages (like C# and Java) so I placed that book near the bottom as well.

The C++ Object Model is very good to know to gain a solid understanding of how Classes work in C++, but it isn't absolutely necessary. It will help you avoid making ill-behaved programs that use a mixture of C and C++.

I haven't completed this list myself, but I intend to. After reading some of the books myself, I realized that either I didn't read them thoroughly enough to move onto other books or I didn't practice enough to understand material presented in other books.

As you read, make sure to make effective practice of what you learn and you'll be perfectly fine =)

If you're trying to learn C++ for a College class in C++, the C++ Primer by itself should be enough for the first 2 quarters (questionable depending on the material covered in the class, but it should be sufficient). The other books serve the purpose of coding refinement and good practices, questions to make you think about solutions, more good practices, more knowledge about particular features in C++ and the capabilities, reference material, and just damn good coding by the above-mentioned authors.

>Don't reinvent the wheel! Use vectors (or safe/auto_ptr) instead of raw pointers if performance isn't an issue.

Unless of course your practicing how to use pointers and arrays, sometimes its better to do things the hard way, and once you know them, take the easier method :)

commented: Yeah! =) +4
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.