The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.
Honestly I'd probably say that many online tutorials can teach you more than a book can. Unless your friend is more of a book person, I'd say have him look around online. I assume this is for recreational programming? Or is this for a job or something?
Honestly I'd probably say that many online tutorials can teach you more than a book can. Unless your friend is more of a book person, I'd say have him look around online. I assume this is for recreational programming? Or is this for a job or something?
Nah. Online tutorials leave out key details, and don't take a task-based approach or make much mention of best practices, or go very in-depth with real-world problems. Reading a good book on a language is real nice and can answer a lot of questions you didn't know you had.
Programming Principles and Practice
Using C++
Bjarne Stroustrup
I am going to give this a read through. I have heard some good things from some people. I have heard it does hold your hand quite a bit, but a lot of good insights. Also its written by the man who created the language
One of the best books on a programming language ever written. Also teaches OO fundamentals in an extremely coherent way so you don't end up writing some other language with C++'s syntax.
When you could get it (there's still a few left here and there), this was one of the most useful C++ books there was. It was only about an inch thick and about the size of a hardbound fiction book. No walkthroughs, just a reference. But it included all the C libraries and the STL.
The fourth edition that replaced it was a useless pile of paper the size of a phonebook that said basically the same stuff in more words. The third edition was the definitive "everything you need to have on hand but don't want to remember" book.
Bjarne Stroustrup's C++ Reference is the definitive C++ manual. Rule of thumb with programming languages is to always get the book that's written by the author of the language itself.
Failing that, never get a SAMS book ever. They may teach the syntax and it may look easy, but they also teach some of the most horrifying coding practices in their examples.
O'Reilly books tend to be quite good, but also really dense. I tend to fall asleep about half a chapter into an O'Reilly book.
Going through Stroustrup and using those sites will probably get you through the basic principles of C++, if you want to suss out things like template programming I'd say you're shit out of luck short of taking a full on university course on the subject.
I don't say this to wank about my preferred OS but consider trying Linux and using the console as a development environment whilst you're learning the basics, including looking at the source code of some open source projects. I'd say that getting an appreciation for the layout of C++ projects and the command line arguments for gcc and other tools such as make and configure are invaluable in the long run. There's nothing wrong with using Visual Studio or Bloodshed in Windows but starting and sticking with GUI development environments tends to stunt ones understanding of the creation of a program.
Bjarne Stroustrup's C++ Reference is the definitive C++ manual. Rule of thumb with programming languages is to always get the book that's written by the author of the language itself.
This. Even though I know C/C++ intimately I still refer to "The C++ Programming Language" by Stroustrup. It is not the best "learning" book, but once you have a reasonable grasp of the C++ language it is the source for how/why things work.
Thanks for the advice everyone has been given. Probably will go with primer's plus first then Stroustrup's C++ Reference down the road when they have a little more experience.
I'm not sure how serious your friend is about programming, but another good book to read is Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.
It's a really dry read but if you can stomach it it can give some good insight into Object Oriented Programming. But it's not a good beginner book.
stah on
0
L Ron HowardThe duckMinnesotaRegistered Userregular
I'm not sure how serious your friend is about programming, but another good book to read is Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.
It's a really dry read but if you can stomach it it can give some good insight into Object Oriented Programming. But it's not a good beginner book.
One of the best books on a programming language ever written. Also teaches OO fundamentals in an extremely coherent way so you don't end up writing some other language with C++'s syntax.
Honestly I'd probably say that many online tutorials can teach you more than a book can.
Show me an online tutorial with a quarter of the cogency and comprehensiveness of Prata's book and I'll give this some credence.
I guess I do better using online tutorials for any language than I do a book. Fuck. I've been through about 20 or so programming classes... Bought the books for them, and haven't ever opened them once. I normally just go online and search around.
I swear I'm not. That's just what my boss made me read when I first got hired. We didn't have a computer/office for me for the first 2 weeks, so I was made to sit down and read and take notes in that book. Those were dark times, man...dark times!
Posts
edit also used bookstores can have some great deals on these kind of books, and C++ is very mature so a 10 year old book is probably still good.
Also, windows.
No joke. It was my first C++ book 8 years back (holy shit, it's been that long?).
Nah. Online tutorials leave out key details, and don't take a task-based approach or make much mention of best practices, or go very in-depth with real-world problems. Reading a good book on a language is real nice and can answer a lot of questions you didn't know you had.
C++ primer plus is an excellent book. has reviews and exercises which are great.
Using C++
Bjarne Stroustrup
I am going to give this a read through. I have heard some good things from some people. I have heard it does hold your hand quite a bit, but a lot of good insights. Also its written by the man who created the language
One of the best books on a programming language ever written. Also teaches OO fundamentals in an extremely coherent way so you don't end up writing some other language with C++'s syntax.
Show me an online tutorial with a quarter of the cogency and comprehensiveness of Prata's book and I'll give this some credence.
When you could get it (there's still a few left here and there), this was one of the most useful C++ books there was. It was only about an inch thick and about the size of a hardbound fiction book. No walkthroughs, just a reference. But it included all the C libraries and the STL.
The fourth edition that replaced it was a useless pile of paper the size of a phonebook that said basically the same stuff in more words. The third edition was the definitive "everything you need to have on hand but don't want to remember" book.
Failing that, never get a SAMS book ever. They may teach the syntax and it may look easy, but they also teach some of the most horrifying coding practices in their examples.
O'Reilly books tend to be quite good, but also really dense. I tend to fall asleep about half a chapter into an O'Reilly book.
Apart from that failing a manual some good references are:
http://www.cppreference.com
http://www.cplusplus.com
for your STL documentation needs.
Going through Stroustrup and using those sites will probably get you through the basic principles of C++, if you want to suss out things like template programming I'd say you're shit out of luck short of taking a full on university course on the subject.
I don't say this to wank about my preferred OS but consider trying Linux and using the console as a development environment whilst you're learning the basics, including looking at the source code of some open source projects. I'd say that getting an appreciation for the layout of C++ projects and the command line arguments for gcc and other tools such as make and configure are invaluable in the long run. There's nothing wrong with using Visual Studio or Bloodshed in Windows but starting and sticking with GUI development environments tends to stunt ones understanding of the creation of a program.
This. Even though I know C/C++ intimately I still refer to "The C++ Programming Language" by Stroustrup. It is not the best "learning" book, but once you have a reasonable grasp of the C++ language it is the source for how/why things work.
Also, I can count to "boat".
Those websites look pretty useful too, so thanks!
It's a really dry read but if you can stomach it it can give some good insight into Object Oriented Programming. But it's not a good beginner book.
You're my college professor, aren't you?
I guess I do better using online tutorials for any language than I do a book. Fuck. I've been through about 20 or so programming classes... Bought the books for them, and haven't ever opened them once. I normally just go online and search around.
I swear I'm not. That's just what my boss made me read when I first got hired. We didn't have a computer/office for me for the first 2 weeks, so I was made to sit down and read and take notes in that book. Those were dark times, man...dark times!