tags:

views:

183

answers:

7

Possible Duplicate:
The Definitive C++ Book Guide and List

I am entering my second year at University studying Games Design with a focus on programming. I have beginner knowledge of Java and ActionScript 3, and am working my way through "Java in Two Semesters" by Charatan and Kans. I enjoy the layout and method of teaching in the book.

As I understand several basic programming concepts relative to Java, could I start reading an intermediate C++ book and if so, which one would you recommend? As far as I am aware, "Java in Two Semesters" is NOT an object-oriented styled teaching book. Should I find one that is?

+1  A: 

I like to start with a basic reference guide to a language to learn all the basic syntax, quickly. Then I go back to thicker instructional books for a more in-depth look at the language, preferably with a lot of well-written code samples. Deitel's series of books on programming languages fit the bill. But most importantly, get in front of your computer, and start whacking out funky code. Do something. Then ask, what if I did this? Try to do stuff that no sane programmer should do, stuff that is beyond your comfort zone, and see what happens. Make sure to print out intelligible feed back on intermediate and final results so that you can verify that you understand the code.

Remember, expertise takes about 10,000 hours of deliberate practice.

Jacob Lee
+2  A: 

The C++ Programming Language, special edition by Bjarne Stroustroup. It is arguable whether the book is really "intermediate" (which is a very subjective assessment), but in my opinion, it is that, as it does cover all but the most arcane concepts of the language and the standard library, but without getting into corner cases and various "magic" and other hackery (template metaprogramming etc).

Pavel Minaev
+1  A: 

As you are already familiar with programming I would recommend: Accelerated C++: Practical Programming by Example (ISBN: 020170353X).

What I like about Accelerated C++ is that it teaches C++ as opposed to many other introductury books that teaches C with some inheritance.

Don't get me wrong I like C but I think in order to develop effecient in C++ one needs to it treat as an entirely different language.

FuleSnabel
A: 

Have I got a deal for you...a great C++ book that is free to boot. I give you Thinking in C++.

After that, I would recommend Effective C++.

Oh, and definitely adopt an object oriented style in these languages (Java and C++).

If you like Bruce Eckel's C++ book, he has a Java one as well.

This link might help you find a good Java book.

Justin
A: 

Let us C++ is a very nice book that you can use to either learn intermediate C++ or you can go as well in depth. All concepts are presented in a very simple way with exercises often trying to hone your skills. Highly recommended.

Bragboy
This is the worst suggestion one could ever give. "Let us C++" is a very old book that teaches you to program with an outdated compiler named Turbo C++. It wasn't updated for C++'98 standard. It doesn't teach C++ as we know it today. Maybe your suggestion could be suitable to post under "What is a good introductory book for C with classes" thread, but not here.
missingfaktor
A: 

To answer your question, we need to first define what is intermediate C++. I am hazarding a guess that you understand the basics of OOP by now, and a bit of templates, exception handling etc. The next level is now understanding more of the language itself, the standard template library and its containers. These are good books:

  1. Inside the C++ Object Model by Lippman http://goo.gl/1rfJ
  2. Effective STL by Scott Meyers http://goo.gl/5fqJ

And also Effective C++ from Scott Meyers.

Once you have graduated from these, the next will obviously be The C++ Programming Language by Stroustrup and Modern C++ Design: Generic Programming and Design Patterns by Andrei Alexandrescu http://goo.gl/pARz

Fanatic23