

desertcart.com: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14: 9781491903995: Meyers, Scott: Books Review: Careful Diagnosis of C++11 and C++14 - Honesty about C++ and the things that can really help you and those things you should manage carefully is what I like most about this book. The author did an exception job helping the reader navigate through C++ to understand the essence of those things that can benefit or most imperil them when using the language. You do need to have a general understanding of C++ before reading the book. Particularly, recent publications from Bjarne Stroustrup would be very helpful. Some knowledge of the STL could be helpful but not entirely necessary. You do not need to be fully versed in OOP or other programming paradigms. The book is paradigm agnostic. It focuses strictly on C++ programming language capabilities and a few standards approved capabilities represented through C++. Sometimes a good approach to knowledge involves the long way. It seems best to avoid certain shortcuts since good insights may be absent or unavailable when needed. However, there are shorter paths to understanding that are indeed productive. This book is one of those. Rather than spend months or years contending with many of missteps possible without the knowledge presented here, the author makes your use of C++ far more productive and reliable. Optimal ways to use capabilities in C++ are discussed and demonstrated. You can also read the book and get the impression that some parts of C++11 and C++14 are screwed up. That would be an incorrect view. I am referring to the parts of the book that show that some features of C++ are not what they seem on the surface. A great example are lambdas and their relationship to memory leaks if used improperly. What I see is that certain features or not designed wrong but they are not designed to be used all the time. C++ is like the computer language equivalent of Lego blocks. Not all pieces are designed to be used everywhere and in every case. It also means that when you use C++, you don't really straight code in it like you might in a managed language, but you use it thoughtfully every step of the way. This book shows you some of those considerations that can reduce technical design problems and improve software programs. Review: Not your grandfather's C++ -- A must have book ! - It is true that Scott Meyers's book are of great quality. However, as someone that owns many of his books, I can say that his writing keeps getting better and his way of explaining concepts much more accessible. This is a trait, as a writer myself, I will like to to attained. The book looks at very important topics for C++11 and C++14. Therefore, this is not a rewrite of his previous book (and those book should be in your library as well). First, I have to say that he mentions that he didn't want to write about type deduction. Well, I didn't want to read it either. However, the fact he placed it in the first part of the book, it has forced me to do so too. This is because I wanted to avoid the elephant in the room, which is the type deduction and continue with the rest. I'm very glad he did write about type deduction in C++11/C++14. My favorite item: Item 35: Prefer task-based programming to thread-programming. Excellent items about lambdas, threads, rvalues, and many others. It is a great book to have if you code in C++. The books that I always keep close right now for C++ are: C++ Primer by Lippman (5th edition), The C++ Standard Library: A Tutorial and Reference (2nd edition) by Josuttis, and Effective Modern C++. I also keep close the API Design for C++ by Reddy.
































































| ASIN | 1491903996 |
| Best Sellers Rank | #87,286 in Books ( See Top 100 in Books ) #4 in C Programming Language #6 in C++ Programming Language #55 in Software Development (Books) |
| Customer Reviews | 4.6 4.6 out of 5 stars (1,172) |
| Dimensions | 8.5 x 0.76 x 11 inches |
| Edition | 1st |
| ISBN-10 | 9781491903995 |
| ISBN-13 | 978-1491903995 |
| Item Weight | 1.4 pounds |
| Language | English |
| Print length | 332 pages |
| Publication date | December 5, 2014 |
| Publisher | O'Reilly Media, Incorporated |
M**R
Careful Diagnosis of C++11 and C++14
Honesty about C++ and the things that can really help you and those things you should manage carefully is what I like most about this book. The author did an exception job helping the reader navigate through C++ to understand the essence of those things that can benefit or most imperil them when using the language. You do need to have a general understanding of C++ before reading the book. Particularly, recent publications from Bjarne Stroustrup would be very helpful. Some knowledge of the STL could be helpful but not entirely necessary. You do not need to be fully versed in OOP or other programming paradigms. The book is paradigm agnostic. It focuses strictly on C++ programming language capabilities and a few standards approved capabilities represented through C++. Sometimes a good approach to knowledge involves the long way. It seems best to avoid certain shortcuts since good insights may be absent or unavailable when needed. However, there are shorter paths to understanding that are indeed productive. This book is one of those. Rather than spend months or years contending with many of missteps possible without the knowledge presented here, the author makes your use of C++ far more productive and reliable. Optimal ways to use capabilities in C++ are discussed and demonstrated. You can also read the book and get the impression that some parts of C++11 and C++14 are screwed up. That would be an incorrect view. I am referring to the parts of the book that show that some features of C++ are not what they seem on the surface. A great example are lambdas and their relationship to memory leaks if used improperly. What I see is that certain features or not designed wrong but they are not designed to be used all the time. C++ is like the computer language equivalent of Lego blocks. Not all pieces are designed to be used everywhere and in every case. It also means that when you use C++, you don't really straight code in it like you might in a managed language, but you use it thoughtfully every step of the way. This book shows you some of those considerations that can reduce technical design problems and improve software programs.
F**.
Not your grandfather's C++ -- A must have book !
It is true that Scott Meyers's book are of great quality. However, as someone that owns many of his books, I can say that his writing keeps getting better and his way of explaining concepts much more accessible. This is a trait, as a writer myself, I will like to to attained. The book looks at very important topics for C++11 and C++14. Therefore, this is not a rewrite of his previous book (and those book should be in your library as well). First, I have to say that he mentions that he didn't want to write about type deduction. Well, I didn't want to read it either. However, the fact he placed it in the first part of the book, it has forced me to do so too. This is because I wanted to avoid the elephant in the room, which is the type deduction and continue with the rest. I'm very glad he did write about type deduction in C++11/C++14. My favorite item: Item 35: Prefer task-based programming to thread-programming. Excellent items about lambdas, threads, rvalues, and many others. It is a great book to have if you code in C++. The books that I always keep close right now for C++ are: C++ Primer by Lippman (5th edition), The C++ Standard Library: A Tutorial and Reference (2nd edition) by Josuttis, and Effective Modern C++. I also keep close the API Design for C++ by Reddy.
S**U
Good but very detailed
The first few items are useful if you haven't touched c++ in a while and want to get up to speed. The last items however are much more detailed and won't make a big difference for you unless you really know your c++ and are coding an application with high performance requirements. All in all I think this is a good refresher book in its first part and a good reference book in its second.
A**R
Most Impressive: Showeth C++ Degenerating From Systems Language To Java-Like Applications Product: And, How To Cope With This
In the terms of Fred Brooks, The Mythical Man Month, or, perhaps, Thomas S. Kuhn, The Structure of Scientific Revolutions, this impressive and exceptional work by Scott Meyers shows how a systems language designed to allow even device driver development is degenerating by committee-submission-creep towards a Java like applications language ... Effective Modern C++ does give excellent advice on how to cope. Together with Scott Meyers' other three well known works, the programmer working on a low level programming effort systems or device driver or games performance would be able to navigate the shallows and avoid the rocks and riptides ... But, woe betide the high level applications programmer who, frankly, is using the wrong tool for the job ... Take the C++ 14 general cleanup of types. This was probably needed anyway. But, together with a comprehensive new typeset to make smart pointers usable, and a concurrency API, this low level approach to these matters may make thread safety possible in non kernel operating system executive mode executables built therefrom. However, the question I wish to raise is whether threads really need any more than absolutely minimal use outside application level code ... Scott's treatment of types and pointers with a view to thread safety is comprehensive and well written ... This essential advice will save many an in-betweenst project halfway really not a systems project but really not an applications one either ... One reason I bought this book was to find out the detail of what lambdas were. Oh God! Remembering Clipper 5.01 from 1993, whose Clipper code-blocks were this half-way house between DEC's PDP-11 TECO macros, which had the awful possibility of self modification, and proper compiled to p-code small functions a la many Pascals, I suspect these lambdas share the problem that Clipper code-blocks had: one could embed a value inside the code-block a single internal state value that the code-block carried around. This idea undermined the whole conception of good code. Expressibility. Efficient. Maintainable. Obvious. Comprehensible. Top-Down. If one wants to send impenetrablely obscure messages from deep inside one module to deep inside another, not using the call chain, nor the data heap, use explicit operating system semaphores, not such side effects!! Therefore use lambdas with caution, and preferably not at all. Nevertheless another classic work by the author, noted for his writings on C++!!
P**K
E' il libro da avere se avete programmato in C++03 per anni e siete spaesati dalle nuove feature del linguaggio. Il libro spiega, con esempi concreti e parole chiare, come approcciare le novita', quando usarle e come evitare i problemi che questi nuovi costrutti introducono.
A**S
El autor da por hecho que ya tienes experiencia con C++, de modo que este libro es para profundizar el conocimiento ya adquirido con los estándares C++11 y C++14. Si se va iniciando en el lenguaje, se debería comenzar con otro libro (podría recomendar uno cuyo autor es el creador de C++); si ya has tenido un acercamiento con C++ o dominas el estandar C++98, este libro te ayudará a actualizarte.
C**L
This was an excellent write up on modern C++ idioms that gave me a great understanding of the new features introduced in C++ 11 and C++14. The style of the author is witty, and light, while at the same time it conveys the educational material in an easy to follow manner. Experience with C++ is recommended before buying this book, as this is a book which focuses more on the how-to, rather than the what-is. As in, this book doesn't tell you what features are in C++ (well it does, but it assumes you know what they do), but it focuses more on how to use those features in an efficient manner.
G**E
An amazing book for learning more about c++ advance topics!! Definitly a must have to your collection. Explanations are well crafted and simple to understand.
D**H
Auf der Suche nach einem Buch für den Urlaub, welches sowohl die umfangreichen C++11 Neuerungen als auch die nachfolgenden C++14 Erweiterungen/Anpassungen beleuchtet, bin ich auf dieses Buch gestoßen. Bereits im Vorwort bei den Danksagungen an die Personen, die für Mr. Meyers Material beigesteuert und Korrektur gelesen haben, dachte ich mir "Wow, das ist ja das who is who der C++ Autoren-Szene". Und die Erwartungen wurden nicht enttäuscht. In Abschnitten ("Items") nimmt sich der Autor jeweils ein Gebiet (z.B. unique_ptr/shared_ptr, Lambdas, auto, move semantic usw.) vor und beleuchtet es wirklich von allen Seiten mit sämtlichen Vor- und Nachteilen. So hat man für jedes neue Feature danach das gute Gefühl, zu wissen, was konkret unter der Haube passiert und ob/wie man es in seine eigenen Projekte übernimmt. Sehr hilfreich sind dabei auch die Hinweise, wenn C++14 nochmal eine Schippe drauf legt (auto in Lambdas, type_traits usw.). Auf diese Weise kann man bei der Migration auf "Modern C++" gleich auf die verbesserte/vereinfachte Syntax von C++14 aufspringen, statt sich mit der (oft noch nicht optimalen) Variante von C++11 zu begnügen - sofern der Compiler es bereits unterstützt. Das Buch ist wahrscheinlich für Anfänger etwas zu schwer, besticht dafür aber durch präzise und stets korrekte Beschreibungen, was bei anderen Autoren manchmal etwas "luschig" daherkommt. Bsp: "You can move the address stored by one unique_ptr<T> object to another using the std::move()function" (Ivor Horton, "Using the C++ Standard Template Libraries") vs. "std::move doesn’t move anything. .... At runtime, neither does anything at all. They generate no executable code. Not a single byte." (Dieses Buch). Manche Items (z.B. die zu den von Meyers bezeichneten "universal references" + reference collapsing) habe ich mir nach erster Lektüre des ganzen Buches noch ein zweites Mal durchgelesen, da man sie nach dem ersten Durchgang und Kenntnis des Gesamtbildes besser versteht. Besonders hervorzuheben wären noch die Codebeispiele: hier wurden keine endlosen Listings abgedruckt um "Seiten zu schinden", sondern stets nur kurze Schnipsel verwendet, die zum Verständnis des Themas hilfreich sind. Ggf. hat der Autor dann Sourcen (z.B. Codeschnipsel aus der C++ Standard Library) ausgedünnt und farblich hervorgehoben, um den Fokus auf den jeweils relevanten Part zu lenken. Ein abschließendes Wort zur von mir genutzten elektronischen Ausgabe: Bei einigen Fachbüchern (C++, Perl) habe ich in der Vergangenheit bereits völlig unbrauchbare e-Books erstanden, bei denen die Code-Beispiele Kraut und Rüben waren (verrutschte Operatoren usw.). Das ist hier glücklicherweise nicht der Fall. Sowohl auf einem Kindle als auch (iPad) Kindle-App sieht alles einwandfrei aus. Zusätzlich hat sich der Autor auch die Mühe gemacht, alle Code-Beispiele extra so zu formatieren, dass sie nicht zu lang werden (64 Spalten max. glaube ich). Bei geeigneter Schriftgröße hat man so auch kein Problem mit Zeilenumbrüchen, die ungültigen Code auf den Schirm zaubern (z.B. Umbruch einer "// Kommentarzeile"). Davon können sich andere Kindle-Ausgaben (z.B. von Herr Stroustrup) mal eine Scheibe abschneiden ;-)
Trustpilot
2 weeks ago
2 weeks ago