Learning C++

Nemesis77

Diamond Member
Jun 21, 2001
7,329
0
0
Is it possible to learn C++ without having to take any classes? I mean, is it possible with just a book and proper tools?

I'm asking because I want to learn. I have taken a C++ class several years ago, but I can't remember a thing. Now, I have regained my interest for programming, but I don't feel like taking a class or anything. So, is it possible to learn it with just a book? If so, what book would you recommend?
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0
yeah its possible, i sugggest the orielly books, Practical C++ Programming,m they will also teach some good style which will help keep your code clean and maintanable.


now that being said i think the easy stuff in programming can be self taught but the harder stuff llike doing algorithim analysis, or writing complex data structures, its a great help to have a good teacher.
 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
I learned every language I know (including C++), and acquired a software engineering position without taking a single class. Of course, if you have the opportunity to take a college course, I'd say go for it.

I learned what I know in C++ by reading "Thinking in C++" and of course Stroustrup's "The C++ Programming Language." I already knew C, so this was the route I took. If you don't know C, someone may have better suggestions. I know many who've been successful with the "primer" series, like C++ Primer Plus, etc.

Good luck.
 

BigNeko

Senior member
Jun 16, 2001
455
0
0
There are a great bunch of folks in the SOFTWARE thread that have hepled me out with C++ problems. So, Anandtech forums is like having an instructor on call 24/7. This should help if you learn on your own.
As for books, don't get Programming and Problem Solving with C++, not a good book to learn with from scratch.
 

Nemesis77

Diamond Member
Jun 21, 2001
7,329
0
0


<< There are a great bunch of folks in the SOFTWARE thread that have hepled me out with C++ problems. So, Anandtech forums is like having an instructor on call 24/7. This should help if you learn on your own.
As for books, don't get Programming and Problem Solving with C++, not a good book to learn with from scratch.
>>



the reason I asked in OT was because I know the folks here and this forums has more traffic :). The book I have been looking at, is meant for C++ beginners in Linux (sorry, don't remember the title). It starts right from the beginning. I would be doing my programming entirely in Linux. Of course, O'reilly is another choice, the quality of their books is as good as it gets.
 

ThaGrandCow

Diamond Member
Dec 27, 2001
7,956
2
0


<< There are a great bunch of folks in the SOFTWARE thread that have hepled me out with C++ problems. So, Anandtech forums is like having an instructor on call 24/7. This should help if you learn on your own.
As for books, don't get Programming and Problem Solving with C++, not a good book to learn with from scratch.
>>



Are you going to Virginia Tech? Thats the book we are using and it's carp.
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0


<<

<< There are a great bunch of folks in the SOFTWARE thread that have hepled me out with C++ problems. So, Anandtech forums is like having an instructor on call 24/7. This should help if you learn on your own.
As for books, don't get Programming and Problem Solving with C++, not a good book to learn with from scratch.
>>



the reason I asked in OT was because I know the folks here and this forums has more traffic :). The book I have been looking at, is meant for C++ beginners in Linux (sorry, don't remember the title). It starts right from the beginning. I would be doing my programming entirely in Linux. Of course, O'reilly is another choice, the quality of their books is as good as it gets.
>>



in my opinion you should not learn a language specific to its use on any platform especially c++, when you know how to use it in a genreic sense you will have no problem learning how to use OS specific API's. Linux, windows, macos, it doesnt matter you should learn C++ first then worry about what platform you will write to.
 

Nemesis77

Diamond Member
Jun 21, 2001
7,329
0
0


<< in my opinion you should not learn a language specific to its use on any platform especially c++, when you know how to use it in a genreic sense you will have no problem learning how to use OS specific API's. Linux, windows, macos, it doesnt matter you should learn C++ first then worry about what platform you will write to. >>



While that is true, having a book about C++ that approaches from Linux point of view also teaches how to use the Linux-tools (like GCC) effectively. The programming-skills could easily be transferred to other platforms as well, but getting to learn how to use the tools in Linux, is an additional plus. If I move to Windows (highly unlikely) I can learn the specifics of the tools. The actual programming-skills would still be valid.
 

manly

Lifer
Jan 25, 2000
13,589
4,239
136
Yeah if you learn standard C++ within a Linux programming environment, you'll gain important skills in the *nix development toolset, and also be more likely to learn standard C++.

While it has gotten better, VC++ not only targets one platform, but the compiler also has a reputation of being fairly non-standard. On the other hand, VStudio also has a solid reputation as a productive environment.

And like Descartes said, you can learn just about any programming language on your own. However, not all people excel at this route. Personally, while I have no problem picking up languages, discovering a substantial project to learn real programming skills can be difficult to independently discover. As anyone will tell you, the only way to become an experienced coder is to write code.

In other words, instructor-picked homework and problem sets are always helpful.
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
i am interested in learning C, and i've been looking at some source code lately, and alot of the c++ i learned (not very much) really came back and i was understanding it for the most part. thats what is so great about open source, you can learn coding by looking at the source of all of your favorite programs :p