Well, there is about 6 pages of book comments in this thread, so I expect those that have something to say on the subject already has done. Yes, new books come out, and sometimes people change their mind.
--
Mats
Printable View
>> I'm in search of an introductory text on C++ Programming that approaches its task from a
>> theoretical or philosophical perspective.
I don't know any C++ books that specifically take this perspective. Amongst all books I think your choices are good.
Daved, thank you for your reply.
I guess I disagree. I think TC++PL is a heck of a teaching book, with a ton of great insight into concepts and philosophy. To be sure, it is a reference, but I think it is more of a textbook. Particularly the Special Edition with Appendix E on exception safety, which is gold IMO.
I'd highly recommend it if you want to learn some "why" with the "what and how." A good companion would also be The Design and Evolution of C++.
For my recommendation in general, I would say Standard C++ IOStreams and Locales by Langer and Kreft for advanced programmers.
Why can't someone make a way to learn C++ for those who hate to read? :P
Because people who hate to read make bad programmers. :p
Because it never works that way?
Usually, stuff enter your left ear and goes straight out of the right ear.
You have to make notes to remember... but then you would have to read.
And a book can serve as future reference if and when you forget.
It's simply the way we and the world works, I'm afraid.
Yeah, yeah I know :P Just the reading doesn't end! >.<
No pain, no gain :P
Just be glad that there are books and other documentation on just about anything you may want to do. It's actually one of the better things about programming.
Let's look forward to the day when we can implant memory chips into our brain so we absorb everything that is said and can download information to it and access it at will! :D
Well... Then everything would be easy and no one would be better at something than others :P
"Downloading wikipedia...." ;)
Still, we still wouldn't have a cpu, so some would be better with logic and other sorts of thinking...
But we wouldn't need to read up on stuff!
So, I've read the Learning to Program in C++ on this site.
What books should i look for? Beginners, intermediate, ultra pro (I hope not) ?
Beginner / advanced.
The site introduces a lot of things, but they are merely tutorials and not a complete description of basic things.
I figure you probably know a lot of beginner stuff, but you may lack some.
You can try a little advanced book, and see if you get lost. If you do, you may need a beginner book first.
Thanks ^^ Do you people ever think that you might know too much? :P
Sadly, I know too little :(
I still have troubles with template programming sometimes...
nah, I don't even know what that is :P
And, I really hope not that someone doesn't have some problem with some part of C++ :P
hello, how do you guys see the C++ how to program by Deitels for beginners and intermidiate programmers?
I want to know about free resourses.Tell me whether I can download them.
You can try this site: www.freetechbooks.com
http://www.directxtutorial.com
This is not a book, but it's still awsome ;)
Teaches you DirectX very efficiently, or so I'm told... But what I've been told, also fails often, but it sure looks awsome, I just have to finish the book I'm reading before getting into that :P
But anyways, good site for DirectX tutorials and stuff ;)
I really enjoyed Let us C by Kanetkar. But is the C++ one as good? And is there any c++ book (not a reference, more like for learning) covering windows + *nix programming? Thx in advance
Both at once? Unlikely.
However, as separate topics? Probably as sure as there is a sun out planet revolves around.
What they may be called, however, is unknown to me. But I know there have been some Windows programming books been mentioned on the boards. Perhaps the best bet is searching the Windows programming section.
Well, they are included in let us C. But do you think I could use them in C++?
Perhaps. I would not go as far as recommending them. Often, C books do not do well as C++ books due to the difference in the languages.
But they may go as far as to teach you how the OS works and what APIs to use for what, etc. Since the APIs are all C, it may still be something.
I don't know. You would have to try it yourself, or perhaps someone else knows.
I totally recommend "C++ In Plain English 3rd Edition" (ISBN 0-7645-3545-5). Its the best one I've found. A awesome book to read and an also serves as an awesome quick reference - I mean it, its the best and only ~50AUD. Its the best C++ never written to learn from and use as a reference.
Having not read the book myself, I am hesitant to judge it by its table of contents alone (at least better than judging a book by its cover :p), but something looked amiss when I checked its table of contents from Amazon. After reading Glassborow's review for ACCU I understand why: according to Glassborow, it does not teach modern C++ even to a satisfactory novice level.Quote:
Originally Posted by coletek
Next time ya in a book store, just check it out, trust me it serves as a very awesome reference - its layout is terrific and reads very well. Half the book is a reference, which lists/compares operators, keywords, pre processor elements, library functions, io stream classes. And the other half of the book is a C++ tutorial. Trust me its really good - I've read (and flicked through) about 10 C++ books and found this to be the best.Quote:
Originally Posted by laserlight
I come from a C world so, if you don't know C, then maybe this is not the book for you. But if you know C, this is the book for you.
The only downfall I have with the book is it has notes for Microsoft Visual C++ 6.0, I'm a Linux hacker, so I would of liked notes also on gcc/g++ - but hey, such is life.
Sorry, but I trust the ACCU review more than the opinion of a C++ novice. If the above sentence about this book is true (and I have no reason to doubt its veracity), then it's enough to make me dismiss the book completely.Quote:
Looking further I discovered that the author never covers string or wstring anywhere in this book.
For example, the "io stream classes" you claim there's a reference for don't exist anymore. According to the review, the reference is for the pre-standard version of iostreams, but the standard versions have changed in a few quite significant areas.
Please read the review that laserlight linked to. It points out several major deficiencies of the book, and I have no reason to doubt that the author is right when he says that those are not isolated incidents.
Okay, using only that book as a reference, tell me what this program does without running it:Quote:
Originally Posted by coletek
Code:#include <map>
#include <string>
#include <cstddef>
#include <iostream>
int main()
{
using namespace std;
map<string, size_t> word_counts;
string word;
while (cin >> word)
{
++word_counts[word];
}
for (map<string, size_t>::iterator iter = word_counts.begin(), end = word_counts.end();
iter != end; ++iter)
{
cout << iter->first << ": " << iter->second << endl;
}
}
According to Glassborow, the problem with this book is its content. The book teaches C++ as if it were merely a "better" C. Modern C++ puts the C++ standard library to good use and makes use of idioms that are not found in C. Apparently, despite being published years after the C++ Standard was ratified, the book even has examples that are pre-standard.Quote:
Originally Posted by coletek
EDIT:
Actually, considering that Glassborow cited gets() and a failure to distinguish between a pointer and an array, it is conceivable that Overland does not even teach C++ as a "better" C in this book. (I actually stole that "better C" phrase from a customer review on Amazon.)
Ok, well I see you points. But as a C coder, I only use C++ when I really need a O-O arch. When I use C++ I still use C style coding methods. I personally don't see the point in the overhead of using some C++ stuff (eg. string wstring) when it can be done in C (eg. char). Another example is iostream (what is wrong with printf, scanf).
From my point of view, C++ is only good for its ability to handle O-O for your large task at hand. In any other case it should be just C.
So based on my above comments I see the book as good. I just read the ACCU comments and while I agree with he's comments I still see it as a good book. Probably more so, because of the great layout and method to ref things so easy - something I've found hard to find in any books.
I'm sure someone already mentioned it, but I have rather enjoyed reading Bjarne Stroustrup's book "Programming - Principles and Practice Using C++".
I have also enjoyed the Dietel books. Color always makes things easier to read.
Deitel books are good. I got the solutions to the 6th edition and it helped me a lot.
Hi all, I have read c++ without fear and am currently over halfway through practical c++. c++ without fear was a really good book. practical c++ is good with showing more details of specific c++ options. The only thing is that with practical c++ it seems that there is not much in-depth talk and multiple examples for all this detailed stuff. The author kinda just gives it to you quick. I just got done with the file i/o section and at the end it lists programming exercises. And I dont feel that the author went through the file i/o in depth enough for me to feel comfortable or even know how to approach these examples. Is there a book that goes in depth with every aspect of what the chapter is about but also uses multiple examples. And realife implementations. I am kinda bored with book examples and want something to keep my interest, like seing the programs implemented with real computer data and not just things ive typed into the compiler. And examples help a lot. Not just one example but lots of them on one subject that shows multiple problems solved using different implementations of the subject matter.
thanks.
I'm closing in on finishing C++ Primer (5th edition). What a wonderfull book, C++ seemed so vague and complex before I got my hands on this. Maybe some of my knowledge of Delphi helped me out tho. :)
But, I'm still far from satisfied with my knowledge. Even the author said that the book alone probably won't give me that much knowledge for me to allready be able to make stand-alone GUI applications (or such).
What do you recommend me as a second book? My interests are not gaming. I would like to get started with something simple, maybe image manipulation, text editing applications etc. Right now I'm more in the mood for some creative books, rather then books that focus on code optmization/similar topics. I thought about that Windows Programming book... but I'm still not sure if that's what I need right now.
I see that the majority of the recommended advanced books have to do with STL. Is STL widely used in the software industry these days? or is it a decaying technology? I just wanted to gather some information before I dig into the books. Thanks!!
STL is widely, but not universally, used. What is more important is to understand templates in general, and perhaps the iterator concept (which is extremely powerful even without STL). A lot of people are rolling their own template algorithms instead of using STL, but STL is a great place to start.
Thanks, brewbuck :) I appreciate your comments.
The STL as referred to in threads like this is actually the standard library. It is standard so it works the same in all standards conforming implementations (which means it works the same 99.9% of the time on modern compilers). That is why it is used a lot. Not only is it platform independent, it is implemented in the standard libraries for all conforming C++ compilers.
Hi folks,
I recently got to know that when we use new or malloc to allocate dynamic memory, the allocated memory block gets prefixed with some bytes that contain low level details like the block size, and etc. Which book would you cover this kind of information? I think a general computer architecture book wouldn't cover this sort of C/C++ implementation-specific information. Thanks!!
I've been using two books together and they're the best combination of programming books I've ever read - "Accelerated C++" by Koenig & Moo and "Thinking in C++" by Bruce Eckel. Already mentioned before of course, but it's worth pointing out that the two compliment each other perfectly. I couldn't not do without either one.
Accelerated C++ gets your sleeves rolled up with practical examples using the STL almost immediately and saves the more technical/theoretical stuff for later, while Thinking in C++ takes a more bottom up theoretical approach and has you thinking about the intricacies of C++ by using skeletal dummy classes to illustrate how things work. Each book provides what the other is lacking - and if you read them pretty much simultaneously like I did, they'll meet at around chapters 12-14 of each book when they start talking about inheritance.
Not for complete beginners and it helps to know something of another language first (especially C) but if you've already learned a little C and don't want to be babied with 5 page explanations of for loops again, then these books are absolutely perfect. I've really enjoyed reading them both and the exercises they set certainly help you understand what you've learned.
I found that Accelerated C++ is all you need as a beginners book. Couple it with others books, and I'm sure it will be a great learning experience.
Any recommendations on good Design Pattern books? Have been using them at work a lot, but I am trying to learn to write/implement them on my own.
Design Patterns by Gamma, Helm, Johnson and Vlissides (which is one of the ones I mentioned at the start of this thread) is the place to start for design patterns.
Has anyone mentioned Bjarne Stroustrup's P3 book yet?
After purchasing many, many books focusing on learning C++, I still rate this as the best. Hell, I happen to think that this is the best introductory programming book I've ever read in any language. The reviews at Amazon do it more justice than I can here.
That's the first I've heard of that book. It looks very intriguing. There seem to be a lack of top quality C++ books available for programming beginners, and I generally like Stroustrup's approach to teaching C++, so perhaps this could be a new go to recommendation for people who want to learn to program with C++. Thanks for pointing it out.
Beginner books: I've been using Gaddis, Starting out with C++ and Strata, C++ Primer Plus and thought it might be helpful to others to say something about the differences. Both are good books in their own ways.
Gaddis is better for those who find programming difficult and want more time spent on introductory concepts and more exercises to review the concepts.
Strata is better for those who find the introductory stuff pretty easy. He provides enough exercises to review the material but seems to write for a reader who is going to have less trouble grasping and remembering the ideas.
I recently switched to Strata after working up through the classes section in Gaddis because I noticed that Strata discusses classes in greater detail. If you feel like you may need to take a little more time to digest the basics, you should choose Gaddis. If you want to get to the more advanced parts a bit more quickly, go with Strata.
"Strata"? Stephen Prata maybe? :)
yes, sorry, i don't know how i got Strata into my head... mea culpa! Prata is the correct name.
For people who understand German, I recommend the brand new book "Der C++ Programmierer" by Ulrich Breymann.
C++ Lehr-/Lernbuch: Der C++ Programmierer
I flipped through it at the local bookstore and I was really impressed. It approaches C++ exactly the right way: using high-level library features from the beginning, discussing some Boost libraries, explaining important concepts like value vs. reference semantics, RAII, exception safety, etc. It touches on C++0x features and demonstrates C++0x library enhancements (in particular regexes and threads). It also gives a very brief introduction to Qt as the author's favorite GUI library.
I don't know if it will be ever translated to English.
Get yourself hired as a translator :pQuote:
Originally Posted by CornedBee
What knowledge level does it presuppose? A lot of the concepts you mention are new to me, although the German isn't a problem. Just wondering if it might be a bit too fortgeschritten for now... ?
None. It's a huge book; there's lots of space to get from zero to these advanced concepts.
CB, I hope this one is good, because it ended up costing a lot by the time I got shipping from amazon.de to U.S. But the summaries did sound pretty good, and I concluded that the book is a pretty good level for me: addressed to beginners through pros and including advanced topics, which I definitely need to start delving into.
C++ How to Program, Sixth Edition. A very good book for beginners, in which you can not only learn C++ language but also software engineering. And most importantly, you will understand easily.
nice
"C++ Pocket Reference" and "C++ in 10 Minutes" these helped me when i didn't understand something in the tutorials here and these books helped fill in the gaps
Can anyone comment on the C++ book series recommended by this website for beginners, especially the 1st book "C++ Without Fear"? Is this book good?
Here's a similar thread with that question. My answer would probably still be the same now, assuming there are no new (and revamped) editions recently.
http://cboard.cprogramming.com/cplus...s-website.html
Hi David, thanks a lot for your suggestions. Actually, at first I doubted the quality of the book "C++ Without Fear" when scanning through it at my uni bookstore, but then the fact that it sits on the C/C++ forum book series recommendation prevented me from deciding right away not to buy it (I'm new to C++, so I think I must seek help from experienced C++ guys), coupled with another fact that when I bought a book also recommend on the forum, "C Programming: A Modern Approach" by King, I found that it's indeed perhaps the best book for beginners. And that's why I came here to ask for help regarding this book.
Your comments are very useful. I will not buy this book. Thanks a lot.
Lol, I recommend NOT reading C++ For Dummies. It starts out pretty slow, but once you get in midway, the author writes new syntax into his code, but doesn't explain it at all. 'Simple Talk' turns into technical talk. I bought this book, and I think it helped me with some things, reinforcing them, but other than that, not a good book to read IMO. I accomplished a ton reading the tuts on this site :D .
My programming background is mainly in Perl and PHP with some C (mostly dealing with PIC programming) and I recently wanted to check out C++ to see what I could do with it....and how it differed from C.
While going through the tutorials here on cprogramming.com (which I highly recommend started out with!) the book "C++ Without Fear" was recommended, so I decided to check it out. I first sought out user recommendations, such as those on Amazon.com. Then I went to my local book store to sit down with the book for a bit. After spending about a half hour with the book in the book store, I decided to buy it, and I am currently progressing about a chapter each day.
I have many books on programming, especially those directed a beginners. Yes, there are some books out there that definitively should not be marketed towards a beginner. I found "C++ Without Fear" to be very straight forward and gets you programming almost immediately.
The examples build on themselves which reinforces your progress. Any jargon is discussed and not assumed that the reader is familiar with the terminology. Code examples are presented in an easy to follow flow, and then a more streamline version is presented showing examples of combining statements and shortcuts. Each example is broken down in sections titled "How It Works", which breaks down each line of code and explains what each line does. Exercises invite the student to modify the code to perform a different process for a certain result. Hints are given to get the student thinking in the right direction.
The book comes with a CD that a free compiler and all examples and answers to the questions within the book. I have not used the CD as I already have a compiler, so I can't comment on the CD itself.
I was sort of reluctant to submit my thoughts on this book due to my experiences with other languages, however, I feel that this book would be a good investment for any newcomer to programming and a good starting point for learning C++.
I want to post an update about my experiences with "C++ Without Fear". In progressing through the exercises, I wanted to check the code that is provided on the CD against my coded solution to the exercises, just to see if there was a better way.
I've found that there are some code samples to the exercises that are wrong. At first I thought it may have been just a compatibility issue with my compiler, but some of the issues are so wrong that even a newbie can see it and figure it out. Example: In excercise 4.1.3, the sample code is trying to return an undeclared variable in a function.
The last page of the book invites the reader to register the product to "access to bonus material". In the hopes of finding updated sample code, I've registered, but I fail to find any bonus material. But, this may just be me.
So far, this is my only complaint. Not too big of an issue to this point, but it could throw the complete novice for a bit.
I highly recommend Thinking in C++, even for complete beginners. I had to skip everything about the C-style stash and stack stuff that popped up throughout the book, but as far as introducing new C++ concepts it did a great job.
Also, even if it's hard to understand, The C++ Programming Language has great exercises for a relative beginner (the only experience I have so far is Thinking in C++ Volume 1 and a bunch of exercises). I'm at Chapter 6 (expressions and statements), and I'm finding exercises that can be very challenging but have definitely made me more proficient with the STL. It also has taught me some stuff I didn't know about the basics.
dietel and dietel "c++ how to program" is a good one
I'd like to recommend the web book The Boost C++ Libraries .It is a very beginner friendly tutorial-style book showing some of the most usefull boost libraries.
Also take a look at More C++ Idioms wich is a nice collection of often used tehniques.
Object Oriented Programmming in C++ by "The Waite Group's"
I am doing C++ during my 2 month training...please recommend mo the best book for C++ that provide complete knowledge about C++
There is no such book. A good beginners book is Accelerated C++.
It should keep you occupied for some months.
Since this thread has degenerated into either a spam magnet, suggestions of books already mentioned and now "tldr - tell me what to read" posts, this is closed.
If you've got a suggestion for something not on the list already, PM a mod.