Why Does 2+2 = 5986? (Nutshell Handbooks) - Practical C Programming
BySteve Oualline★ ★ ★ ★ ★ | |
★ ★ ★ ★ ☆ | |
★ ★ ★ ☆ ☆ | |
★ ★ ☆ ☆ ☆ | |
★ ☆ ☆ ☆ ☆ |
Looking forWhy Does 2+2 = 5986? (Nutshell Handbooks) - Practical C Programming in PDF?
Check out Scribid.com
Audiobook
Check out Audiobooks.com
Check out Audiobooks.com
Readers` Reviews
★ ★ ☆ ☆ ☆
garrett
although written by the creator of C++, the examples are bad written and not comprehensive. It seems that the writer documented as much as possible, but on the expanse of thorough explanations and examples.
★ ★ ★ ★ ★
laura thompson
**** Things I like about the book:
1. References everywhere! If he mentions a subject, it's followed by paragraph references where that subject is later covered in more detail. Priceless!
2. Detailed Index. If you can't find something in this book, you're blind.
3. Code and keywords in blue font makes them standout nicely
4. Very complete coverage of all major subjects
**** Things I don't like about the book:
1. Too many typos. It's not horrible and I do understand this is the first printing of a 1300+ page book. As soon as you get the book, go to Bjarne's website where he lists the reported errata and annotate all the corrections in your book.
2. Paperback version is too flimsy for such a huge book so do like I did and pay a little extra for the hardcover edition. If you click on "other formats" you will see the hardcover option.
1. References everywhere! If he mentions a subject, it's followed by paragraph references where that subject is later covered in more detail. Priceless!
2. Detailed Index. If you can't find something in this book, you're blind.
3. Code and keywords in blue font makes them standout nicely
4. Very complete coverage of all major subjects
**** Things I don't like about the book:
1. Too many typos. It's not horrible and I do understand this is the first printing of a 1300+ page book. As soon as you get the book, go to Bjarne's website where he lists the reported errata and annotate all the corrections in your book.
2. Paperback version is too flimsy for such a huge book so do like I did and pay a little extra for the hardcover edition. If you click on "other formats" you will see the hardcover option.
★ ★ ★ ★ ★
mamie
Started doing C++ again for some hobby work. Started my career doing C then C++. 25 years later as a manager my teams do more ObjC, Java and C# as well as web dev (HTML5/CSS/JS) of course. But there are still times when we'll jump back to good old C/C++. For my hobby work I wanted a good reference. It has been AGES since I've used one as I typically just look stuff up online (when I do get the few pleasurable moments of coding as a long time managing leader now). I remember the Stroustrup book from years ago and loved it. It along with the Jamsa book (which is not available electronically sadly) they formed my main references back in the day. Great overall reference. If you are doing any C++ you need this book.
C Programming: A Modern Approach, 2nd Edition :: C Programming Absolute Beginner's Guide (3rd Edition) :: Beginning C++ Through Game Programming :: Programming in C (4th Edition) (Developer's Library) :: The Completely Fantastical Edition (The Field Guide / The Seeing Stone / Lucindas Secret / The Ironwood Tree / The Wrath of Mulgarath)
★ ★ ★ ★ ★
sarah rodgers
For someone experienced in C++, later chapters in this book were a nice enhancement of my knowledge of object oriented programming and operator overloading at a more detailed level than I had previously seen.
★ ★ ★ ★ ☆
kim marques
This book was a nice finish to several books about C++. It covers a lot of material in a clear and concise manner without being so technical and algorythmic that it looses the reader. I would recommend this book AFTER reading C++ The Core Language by the same publisher.
★ ★ ★ ★ ★
andrewh
This book is excellent as a tutorial. I've programmed before in commercial languages for research, but had no experience with C or C++. Stroustrup introduces the subjects in a simple way at first and he gives relevant examples. For example, the first function is used on page 23. On this page you get the basic definition of a function, the basic semantics, and two examples on one paragraph. That is all you need to know about functions to understand much of the beginning part of the book. In Chapter 7, every rule about functions, their use, common errors, how to pass arguments, how to retrieve arguments, how to declare and define them, pointers to them, are described in a logical and coherent way with relevant examples. By chap 10, I wondered do function input and output arguments copy, point to or reference the corresponding arguments in the caller routine? The answers are in there in Chap 7, just where you'd expect it. Stroustrup's introduced concepts in an elementary form, especially in the tour, then later when I reviewed, I understood more. He summarizes his style when he says "Don't panic! All will become clear in time" and encourages the reader to plow through even with partial understanding and revisit later. The initial material is long enough to give you the basic concepts and way of use, but not too long to lose you in the details.
The tour (chap 2 and 3) are meant to give you an overview of classes and what C++ can do. The reader is not expected to apply it until getting a more nuts and bolts grasp of the language (chap 4 to approximately 9). By the time you reach chap 7 or 8, even though the subjects of chap2 and 3 are not visited again, classes and some of the standard templates such as vector, string, cin, become clear. From chap 4 on, each subject is presented in enough detail to apply it. The discussion about Exceptions (chap 8) is a good example of how subjects are explained slowly. Stroustrup builds up the subject with the simplest case first, and give you the code right there in the text so that it is easy to understand the basics. He adds one feature at a time and gives example code, so the following features are also easy to follow. The whole idea about how to structure code beginning with 6.1 the desk top calculator and reworking it in 7 and through namespaces in 8 is another example of how concepts are built up slowly through repetition with small modification.
The exercises are excellent and instructive. He goes through all the main points in them, and once you are through with that you will be able to apply each chapter's material. Understanding does require studying the few lines he gives at each time though. Those examples he picks are what you need to learn. To solve the problems, short and terse text is good, for you have less material to search through. Everything to complete them is in the book in order. The only reading ahead I needed was to look up a function which only required reading a page or two. As you practice, you will naturally read through much of the Standard Template Library discussions (for vectors, lists, streams, iterators, strings etc). By the time you figure out the exercises, you will have figured out the basic concepts. I found that the book contains nearly all the example code needed. Every time I asked how to do something I found Stroustrup gives you the example right there in the first few chapters. Rarely did I ask a question that wasn't answered in the book. That demonstrates an excellent choice of topics for learning.
In summary my approach was to take a few hours with each chapter of approximately 20 pages and read it thoroughly until I felt I understood it. I referred to earlier sections as the author indicated when necessary for a reminder. I often found new meaning and more clarity in those sections. Working through most of the problems allowed me to apply or implement the example code in a way that no amount of reading could do.
The book is written with mathematical precision. Much of the author's scientific contribution went to developing the language, and obviously writing compilers for it. Actually, the author has made the rules of the language relatively simple and general, especially given the language's power. Learning the language through his book, one can get the thought process that went into developing this profoundly influential language, in a way that would be difficult to get any other way. After hundreds of thousands of programmers learned C++ through this book, it is extremely difficult to find a typo or mistake.
Stroustrup deliberately treats the simplest and most basic structures first so that a programmer can get started without having to understand the abstract ideas of object oriented programming. The book is not just a reference. For learning the foundations of the language, it is an excellent choice. My advice is to read it sequentially, review the "Tour" (chap 2&3), work through the exercises, and compare with David Vandevoorde's "C++ solutions".
The tour (chap 2 and 3) are meant to give you an overview of classes and what C++ can do. The reader is not expected to apply it until getting a more nuts and bolts grasp of the language (chap 4 to approximately 9). By the time you reach chap 7 or 8, even though the subjects of chap2 and 3 are not visited again, classes and some of the standard templates such as vector, string, cin, become clear. From chap 4 on, each subject is presented in enough detail to apply it. The discussion about Exceptions (chap 8) is a good example of how subjects are explained slowly. Stroustrup builds up the subject with the simplest case first, and give you the code right there in the text so that it is easy to understand the basics. He adds one feature at a time and gives example code, so the following features are also easy to follow. The whole idea about how to structure code beginning with 6.1 the desk top calculator and reworking it in 7 and through namespaces in 8 is another example of how concepts are built up slowly through repetition with small modification.
The exercises are excellent and instructive. He goes through all the main points in them, and once you are through with that you will be able to apply each chapter's material. Understanding does require studying the few lines he gives at each time though. Those examples he picks are what you need to learn. To solve the problems, short and terse text is good, for you have less material to search through. Everything to complete them is in the book in order. The only reading ahead I needed was to look up a function which only required reading a page or two. As you practice, you will naturally read through much of the Standard Template Library discussions (for vectors, lists, streams, iterators, strings etc). By the time you figure out the exercises, you will have figured out the basic concepts. I found that the book contains nearly all the example code needed. Every time I asked how to do something I found Stroustrup gives you the example right there in the first few chapters. Rarely did I ask a question that wasn't answered in the book. That demonstrates an excellent choice of topics for learning.
In summary my approach was to take a few hours with each chapter of approximately 20 pages and read it thoroughly until I felt I understood it. I referred to earlier sections as the author indicated when necessary for a reminder. I often found new meaning and more clarity in those sections. Working through most of the problems allowed me to apply or implement the example code in a way that no amount of reading could do.
The book is written with mathematical precision. Much of the author's scientific contribution went to developing the language, and obviously writing compilers for it. Actually, the author has made the rules of the language relatively simple and general, especially given the language's power. Learning the language through his book, one can get the thought process that went into developing this profoundly influential language, in a way that would be difficult to get any other way. After hundreds of thousands of programmers learned C++ through this book, it is extremely difficult to find a typo or mistake.
Stroustrup deliberately treats the simplest and most basic structures first so that a programmer can get started without having to understand the abstract ideas of object oriented programming. The book is not just a reference. For learning the foundations of the language, it is an excellent choice. My advice is to read it sequentially, review the "Tour" (chap 2&3), work through the exercises, and compare with David Vandevoorde's "C++ solutions".
★ ★ ★ ★ ★
caddy43
It really helps understanding how many things in C++ are working. If you would like to know how C++ works and why it works like this but you do not like to read the standard or would like to have it in easy digestible version, this book is for you.
★ ★ ★ ☆ ☆
kelsey
With all due respect to the C++ guru, the creator, I will say that this book didn't meet my expectation. I have been programming for last ten years, mostly in C and some C++. When I bought this book I thought it would be of the class of K&R for C. However, my experience so far has been different. I had to really struggle to locate answers to my doubts. But, I should also confess that time didn't permit me reading the whole book page by page. But so what! In fact I got better and faster answers through Google. I am sure many C++ professionals will probably think otherwise about this book. Who knows may be I will start loving the book after some time!
★ ★ ★ ★ ★
kimba
This book is simply a must-read for C++ programmers.
I really liked it's structure: there's a brief "Tour of C++" before the more detailed chapters. In this tour, you can see in a glance what C++11 offers for many programming tasks that's not present in earlier standards: variadic templates, static assertions, many concurrency primitives, a new uniform initialization syntax, initializer lists, range-for loop, new STL containers, etc.
After that, there are detailed chapters intended to cover all the details of all the language features and the STL. After seeing a lot of cool stuff in the tour, you are motivated enough to go through the detailed descriptions of everything written by the C++ creator himself.
But pay attention to the title: the book is about "The C++ Programming Language". It's not intended to instruct you about:
- How to program;
- How to write efficient, readable and/or modularized code using C++;
- How to use concurrency to enhance the performance of algorithms;
- How to design APIs (although the STL is a good example in many situations);
- What are the best tools (compiler, VCSs, build systems, IDEs, libraries) to develop C++ programs.
It's rather a hitchhiker's guide to C++.
I really liked it's structure: there's a brief "Tour of C++" before the more detailed chapters. In this tour, you can see in a glance what C++11 offers for many programming tasks that's not present in earlier standards: variadic templates, static assertions, many concurrency primitives, a new uniform initialization syntax, initializer lists, range-for loop, new STL containers, etc.
After that, there are detailed chapters intended to cover all the details of all the language features and the STL. After seeing a lot of cool stuff in the tour, you are motivated enough to go through the detailed descriptions of everything written by the C++ creator himself.
But pay attention to the title: the book is about "The C++ Programming Language". It's not intended to instruct you about:
- How to program;
- How to write efficient, readable and/or modularized code using C++;
- How to use concurrency to enhance the performance of algorithms;
- How to design APIs (although the STL is a good example in many situations);
- What are the best tools (compiler, VCSs, build systems, IDEs, libraries) to develop C++ programs.
It's rather a hitchhiker's guide to C++.
★ ★ ★ ★ ★
sarah hammonds
I've just started reading this book, but sincererly, by now, its the best c++ book i have readen. It covers all the aspects a c++ programmer needs, from a different point of view. finally, the author is the creator of the language, so you will understand the language in a deeply way that lets u have better decisions, at least in my opinion.
★ ★ ★ ☆ ☆
tamera alexander
The book is excellent. The text is clear, the author is knowledgeable, and presents useful information in a well thought out order. But I always forget never order computer books in format for "Kindle for PC". The code samples are stored at the back of the document, and many times they have symbels that are misinterpret to be text page format controls. So the listing are disjointed and once you look at the programming listing, you can not go back to the text that referenced the code listing. The money I saved by getting kindle format for PC was drawfed by the frustration of trying to read and understand the book without the code listings.
★ ★ ★ ★ ★
laurel rankin
I am a professional programmer and my favourite programming language is "C". It is simple and effective language. I considered my self as one of critics of C++ because of too many complicated principles and concepts, really ugly and practically unmaintainable code with templates. Very complex semantics of many of language features and facilities.
C++ 11 fixed many of problems with templates. Now OOP is not suited as central part of the language. It is just one of abstraction mechanisms.
About the book, it is great book. I can say that this book is enough to have for professional level of language. You can use it as a reference or as a guide, as you wish. I found very helpful advices of end of each chapter. This is some kind of how to index for the language. The concepts and language facilities are illustrated with short and clear examples (sometime not so clear). I found and get from the book exactly what I expected from it. For me now most of advanced features of language does not look so ugly and unreadable.
I think that now every language facility can be part of tool set of average programmer. The good programming language is the language which allows you to get maximum from it without need to be guru. The same think can be said about this book, it is not needed to be guru to get maximum from it.
So get a great fun with auto, lambda, constexpr and all other new things in C++ 11.
C++ 11 fixed many of problems with templates. Now OOP is not suited as central part of the language. It is just one of abstraction mechanisms.
About the book, it is great book. I can say that this book is enough to have for professional level of language. You can use it as a reference or as a guide, as you wish. I found very helpful advices of end of each chapter. This is some kind of how to index for the language. The concepts and language facilities are illustrated with short and clear examples (sometime not so clear). I found and get from the book exactly what I expected from it. For me now most of advanced features of language does not look so ugly and unreadable.
I think that now every language facility can be part of tool set of average programmer. The good programming language is the language which allows you to get maximum from it without need to be guru. The same think can be said about this book, it is not needed to be guru to get maximum from it.
So get a great fun with auto, lambda, constexpr and all other new things in C++ 11.
★ ★ ★ ★ ☆
nadir
Awesome solid standalone C++ dev book. I like that it treats c++11 as if it were there from the ground up and doesn't try to teach you C++ and then C++11. Though, I am alarmed that the next edition of this book, with C++14, has some dubious practices, such as some sort of custom header file of Strousrup's that performs a header level using namespace std;, something I'd easily fail a code review for let alone want to teach any developer is a good habit! Again, that's in the next edition of this book - at this point, I'd recommend this one over that.
★ ★ ★ ★ ☆
tammy perlmutter
wonderful book for C++11, nice examples, there are cases didn't state the actual usage of a nice program feature.
don't like the later chapters on concurrency, not written clearly. looks like copy paste from internet.
don't like the later chapters on concurrency, not written clearly. looks like copy paste from internet.
★ ★ ★ ☆ ☆
b j larson
This is a thorough book touching all aspects of C++ programming. I read the whole book and there is definitely a lot of information. My preferred section is on the C++ language. I though that the section regarding the standard library is not as good as some other books like the Josuttis library book.
Too many errors / typo in the book. I understand that editing a technical book of this size is not an easy task, but in comparison to other books as thick on similar technical topic, the editor did a very poor job of proofreading the book. My book was the first printing.
Too many errors / typo in the book. I understand that editing a technical book of this size is not an easy task, but in comparison to other books as thick on similar technical topic, the editor did a very poor job of proofreading the book. My book was the first printing.
★ ★ ★ ★ ★
andrew gustafson
Stroustrup used very good examples to make his points, which otherwise would be hard to follow. Cover loads of stuff in very details that won't be possible to cover in a semester-long C++ class in school. It's just a brilliant book to read.
★ ★ ★ ★ ★
stephanie haun
Great book, and I believe an absolute must for any serious C++ programmer. Great as a reference, and a very informative (if a little involved) read. Nothing beats the thoughts of the language designer/creator when it comes to understanding how C++ works.
★ ★ ★ ☆ ☆
fatimah
While the book is worth having from a programming standpoint, it does have flaws which the editor might not pick up unless they're as competent a programmer and inventor of language elements as the author. But my bigger reason for giving this title a lower rating is that it is not possible to download the book to the Kindle reader on the Windows platform, and the store has done nothing to remedy this despite several other reviewers' complaints about it. One of the best things about a computer book is to be able to alternate between reading it and implementing things discussed therein. Since you can't read this book on a Windows system, therefore you can't alternate between it and, say, Visual Studio to test or implement some of the code practices mentioined in the book, it's not useful to have a book where it's not convenient to use it. I hope that makes sense to you readers.
★ ★ ★ ★ ☆
ian edwards
... and not only because it's written by the original creator of C++.
The book actually teaches the fundamental mindset needed for any
good understanding of software engineering, and by doing so
defines the often superior strength and completeness of the C++
programming language.
I have been using C++ in advanced software engineering for decades
and this book still manages improves my understanding and capabilities,
as well as confirm my current understanding in a pleasant way.
The book actually teaches the fundamental mindset needed for any
good understanding of software engineering, and by doing so
defines the often superior strength and completeness of the C++
programming language.
I have been using C++ in advanced software engineering for decades
and this book still manages improves my understanding and capabilities,
as well as confirm my current understanding in a pleasant way.
★ ★ ★ ★ ★
meredith mallouk
A difficult book for beginners. Beginners would moan and complain about how messed up the content is. They would then give 1 star/2stars for this book, while crying, HARD HARD HARD, and stupid!!.
This book is a great summary for the whole classic C++ programming language. One of the hardest books to master. However if you understand this book, it means you are few steps away from being the Einstein of C++ programming language.
This book is a great summary for the whole classic C++ programming language. One of the hardest books to master. However if you understand this book, it means you are few steps away from being the Einstein of C++ programming language.
★ ★ ★ ★ ★
wynn
There is nothing to review about this product. This is THE reference for C++ programming by the man who is behind the development of the language. His insight into the process of programming and what developers need is astounding. This book is the only book you need for C++ programming.
★ ★ ★ ★ ★
nichole
We've bought this book for our organization because it's one of the best C programming books out there.
Unlike the other books, it's very easy to understand(even for non-native English speakers like us).
Thanks for your services
Unlike the other books, it's very easy to understand(even for non-native English speakers like us).
Thanks for your services
Please RateWhy Does 2+2 = 5986? (Nutshell Handbooks) - Practical C Programming