(Part 3) Top products from r/cpp
We found 20 product mentions on r/cpp. We ranked the 123 resulting products by number of redditors who mentioned them. Here are the products ranked 41-60. You can also go back to the previous section.
41. Compilers: Principles, Techniques, and Tools (2nd Edition)
Sentiment score: 0
Number of reviews: 1
42. Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Sentiment score: 1
Number of reviews: 1
43. Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications
Sentiment score: 1
Number of reviews: 1
44. Problem Solving With C++
Sentiment score: 1
Number of reviews: 1
Used Book in Good Condition
45. ADTs, Data Structures, and Problem Solving with C++
Sentiment score: 1
Number of reviews: 1
46. Software Build Systems: Principles and Experience
Sentiment score: 0
Number of reviews: 1
47. Mastering the C++17 STL: Make full use of the standard library components in C++17
Sentiment score: 1
Number of reviews: 1
48. Problem Solving, Abstraction, and Design Using C++ (3rd Edition)
Sentiment score: 1
Number of reviews: 1
50. Beyond the C++ Standard Library: An Introduction to Boost
Sentiment score: 0
Number of reviews: 1
51. Absolute C++ (5th Edition)
Sentiment score: 1
Number of reviews: 1
Used Book in Good Condition
52. C++ How to Program (Early Objects Version) (9th Edition)
Sentiment score: 1
Number of reviews: 1
53. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)
Sentiment score: 0
Number of reviews: 1
Pearson Addison Wesley Prof
54. Thinking in C++, Vol. 1: Introduction to Standard C++, 2nd Edition
Sentiment score: 0
Number of reviews: 1
Thinking in C++: Introduction to Standard C++, Volume One: Introduction to Standard C++ Vol 1
55. Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Third Edition
Sentiment score: 1
Number of reviews: 1
56. The C++ Standard Library: A Tutorial and Reference
Sentiment score: 0
Number of reviews: 1
Modern C++ (C++11 or later) books are not nearly as plentiful as those for Classic C++, but there are a few notables.
Bjarne's college text may be what you are looking for:
Programming: Principles and Practice Using C++ https://www.amazon.com/Programming-Principles-Practice-Using-2nd/dp/0321992784/ref=pd_sim_14_2/144-7765085-0122037
It is aimed at engineers, which makes it less general, but might be good for you.
Of course his general intro is also updated to C++11.
The C++ Programming Language https://www.amazon.com/C-Programming-Language-4th/dp/0321563840/ref=pd_sim_14_2/144-7765085-0122037
This is aimed at experienced systems programmers, so it may be a bit heavy for students, which makes the Primer (that you mentioned attractive).
C++ Primer https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/ref=pd_bxgy_14_img_2/144-7765085-0122037
Be certain to get the 5th edition.
Of Scott's books only the latest is Modern.
Effective Modern C++ https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996/ref=pd_sim_14_2/144-7765085-0122037?_encoding=UTF8
This is less an introduction for students than for Journeymen (Journeypeople?) programmers.
For just plain good programming style consider Ivan's book.
Functional Programming in C++ https://www.amazon.com/gp/product/1617293814
Don't be put off by "Functional." This style of programming will make your students excellent programmers.
There are some modern books of high quality that are niche.
The ultimate guide to templates:
C++ Templates https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121/ref=pd_sim_14_1/144-7765085-0122037
The ultimate guide to concurrency:
C++ Concurrency in Action https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ref=pd_sim_14_1/144-7765085-0122037
Some library options:
Despite its name, this is mostly reference. A very good reference.
The C++ Standard Library: A Tutorial and Reference (2nd Edition) https://www.amazon.com/Standard-Library-Tutorial-Reference-2nd/dp/0321623215/ref=pd_sim_14_2/144-7765085-0122037
Arthur's book covers C++17, which makes it one of the most modern on this list:
Mastering the C++17 STL: Make full use of the standard library components in C++17 https://www.amazon.com/Mastering-17-STL-standard-components-ebook/dp/B076CQ1RFF/ref=sr_1_fkmrnull_1
To what extent are you teaching C++ and to what extent are you teaching programing?
Good luck and have fun!
I have a background in C and C++, with an emphasis on C. It's been a while since I did anything in C++, and thought this C++11 update would be an excellent opportunity to familiarize myself with the language again.
I have the following C++ texts on my shelves:
I'm thinking about buying a more updated C++ book to replace the aforementioned texts (donating them to my local library), hence the self.post.
I never knew about cppreference.com, it looks great and has a very clean layout. Thanks for that. I'm always on the look out for excellent freely available online learning resources, especially for programming languages: /r/Programming has an excellent faq in that regard.
I wanted to ask for opinions on the quality of the C++ tutorial at cplusplus.com, especially as a companion to the cppreference.com site you provided, but it seems to be down at the moment.
I find I'm torn regarding dead-tree media for CS texts: on the one hand, I enjoy sitting down with a good book; on the other, digital media lends itself so well to the world of programming-language textbooks: especially considering the potential for automatic update availability (like erratas).
* Awesome, cppreference.com even has an Archive for Offline viewing!
Advanced C++ Programming Styles and Idioms is pretty unconventional: the author assumes you are already familiar with programming concepts and C++ syntax, and presents a plethora of C++ idioms, at least half of which are... let's say unconventional applications of C++'s power of abstraction, that make you think outside the box. Amazon's synopsis and the reviewers there do a better job at describing it though, so give that a read.
You should read an intermediate-level C++ book or two before diving into this one in order to truly appreciate its eccentricity (which should open your eyes considerably). It is a rather strange book: it reads more like a novel than a desktop reference.
There are a handful of books out there, but this one is generally considered the definitive text. David Abrahams and Aleksey Gurtovoy are way smarter than I could ever hope to be, so I had to do a lot of work to get through this book and grasp the basic concepts.
This is a pretty tall order. Possibly look at:
https://www.amazon.com/How-Program-Early-Objects-Version/dp/0133378713
If this is too complex then you probably want to start with C and eventually move to C++. I say this because all of C is valid C++ and if you're coming from a webdev background my first intuition is that you lack an understanding of "manual resource management" in programming, a feature which is a fundamental reason to choose C or C++.
Once you have a handle on C then you will have a decent handle on C++ syntax, and then tackling th Dietel text above should be a lot easier.
Hopefully this is the book you're looking for.
Keep learning it! I thought I knew C++ pretty well. Then I started my data structures class. This book has greatly expanded my understanding of C++. I'm still not even close to done. But I'm working on other languages and learning how compilers work now as well. It never ends muwhahaha
The first book you need is Advanced Programming in the UNIX Environment. This is the bible for socket programming (among other things).
This book is based on C. A good resource is The Indispensable Guide to C.
Hope this helps.
>I was a quite average CS major in college who studied C++. I've spent the last three years completely out of the field, so I'd like to go back and start from square one--building a solid knowledge foundation this time.
That is actually a good thing because C++ has a new standard, as such you might as well learn the new techniques. The new standard I'd called C++11 by most with a minor tweak called C++14 due to be ratified soon. So any text you choose must be current and support C++11 It is imperative due to new techniques that should make your life easier.
>With that in mind, I've narrowed down my book choice to either Stroustrup's The C++ Programming Language, 4e or Savitch's Absolute C++. (I've looked at Savitch's Problem Solving with C++ too, but I'm not quite sure the difference--content-wise--between this and former).
Never heard of Savitch so can't comment on his books. However Stroustrups book is a bit of a reference so I'm not sure either of these are right for your needs. Somebody else mentioned Lippmann above, that might be a good choice. Here is the big problem, not a lot of good texts exist right now. You will find yourself browsing the Internet often to make up for the lack of texts.
>What are your recommendations out of these two (or three)?
Well for most people it would be neither. However you have indicated some C++ background! as such Stroustrop may be OK for your needs. Whatever text you choose to work from make sure it is C++11 complaint. The problem here is that texts have or will be revved, so what you really need is a list and unfortunately I don't have a URL handy. Try StackOverflow as some place on that site they have a good list.
Maybe your Java devs could get hold of a couple of copies of Filthy Rich Clients, and in the process learn not to write C++ in Java.
I switched from C++ to Java/NET, because zero of our business cases require counting bytes or milliseconds, and those platforms are good enough for 90% of the use cases. C++ is only used in those remaining 10%, and sadly is mostly C with C++ compiler than anything else.
If you prefer to call us mediocre, then so be it.
My boss swears by The Annotated C++ Reference Manual and I'm sure it's great, coauthored by Margaret Ellis and Bjarne Stroustrup... but I'm guessing its not for teaching, as it's titled 'reference'
Based on my own experience:
Next, tackle on STL specific stuff
Thinking in c++ by Bruce Eckel. Good one I've used to learn the langage while being students.
http://www.amazon.com/Thinking-Introduction-Standard-One-2nd/dp/0139798099/ref=pd_sim_b_1/190-9785840-9713239
I highly recommend The Design and Evolution of C++ if you want to learn about the original design decisions behind C++ that the current ISO committee seems to not care about in the slightest.
It's a bit dated but offers a tremendous amount of insight into why the language was made as it is.
Amazon.com: http://www.amazon.com/Beyond-Standard-Library-Introduction-Boost/dp/0321133544
Two books:
Software Build Systems: Principles and Experience
by Peter Smith PhD et al.
Link: https://amzn.com/0321717287
Advanced C and C++ Compiling
by Milan Stevanovic
Link: https://amzn.com/1430266678
European dragons have a heritage that stretches back to at least the time of the Greek civilisation; calling them "pale imitations" does them a grave disservice. The oldest known sources for dragon myths are from the Middle East, not the Far East.
If you feel like arguing this point, please don't use the Dresden Files. Just stick with authorative sources instead, ok?
I like Josuttis as a standard library reference. It might not be your traditional "Learn how to program" book, but it will remain on your shelf long after you've tossed out the rest of your beginners books. (I also notice that he seems to have a C++11 book coming out soon.)
http://www.amazon.com/Standard-Library-Tutorial-Reference/dp/0201379260/ref=sr_1_1?s=books&ie=UTF8&qid=1324964906&sr=1-1
I learned C++ from Dietel & Dietel 1st Edition, but I noticed that by the 4th edition the book had gotten a bit obnoxious. Maybe they've corrected some of that now that they are on their 8th edition? If nothing else, at least they have been doing the C++ book thing for well over a decade.
http://www.amazon.com/How-Program-8th-Paul-Deitel/dp/0132662361/ref=sr_1_1?ie=UTF8&qid=1324965103&sr=8-1
I suspect that page will change soon, because Learn Python 3 the Hard Way was recently published (july 7 2017).