

Series: Undergraduate Topics in Computer Science
Paperback: 250 pages
Publisher: Springer; 2012 edition (February 22, 2012)
Language: English
ISBN-10: 1447127358
ISBN-13: 978-1447127352
Product Dimensions: 6.1 x 0.6 x 9.2 inches
Shipping Weight: 1.1 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (12 customer reviews)
Best Sellers Rank: #616,267 in Books (See Top 100 in Books) #112 in Books > Computers & Technology > Programming > Languages & Tools > Compilers #131 in Books > Computers & Technology > Computer Science > Computer Simulation #142 in Books > Textbooks > Computer Science > Algorithms

This is what happens when Fortran programmers learn some C and then decide they are ready to teach C++ to newcomers; it's an abysmal failure. If you are an engineering student looking to learn C++, please do not get this book. I recommend Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers (C++ In-Depth). It does a substantially better job of introducing the basic elements of C++ and carries the reader through to some very high-level programming with little effort (the big project in the book is quite impressive, even for professional programmers).In Chapter 3, the authors discuss reading and writing to file streams. In every code snippet, they call the "close" member function on their fstream object. This is unnecessary as the fstream's destructor will do that for them. It might seem pedantic, but they are setting the stage for how to think in C++. This is not how C++ programmers should think. Using RAII is a basic tenet of C++, and the authors get it wrong almost immediately.Chapter 4 is all about using "new" and "delete" in user code. This should never been done today (see C++ Core Guidelines). RAII is the de-facto resource control idiom in C++. I was hopeful that Chapter 6 (classes) would remedy this, but RAII is never discussed there.Chapter 5's discussion about using pointers in interfaces never discusses the difference between owning and non-owning pointers. This is a massive area of easy confusion and dangerous territory for the newcomer. It is imperative to distinguish between these two ideas.
Guide to Scientific Computing in C++ (Undergraduate Topics in Computer Science) Principles of Digital Image Processing: Advanced Methods (Undergraduate Topics in Computer Science) Large-Scale Scientific Computing: 6th International Conference, LSSC 2007, Sozopol, Bulgaria, June 5-9, 2007, Revised Papers (Lecture Notes in Computer Science) The Complete English Master: 36 Topics for Fluency: Master English in 12 Topics, Book 4 Python: Python Programming For Beginners - The Comprehensive Guide To Python Programming: Computer Programming, Computer Language, Computer Science Python: Python Programming For Beginners - The Comprehensive Guide To Python Programming: Computer Programming, Computer Language, Computer Science (Machine Language) CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of Gpu Computing) Introduction to Evolutionary Computing (Natural Computing Series) Strategic Computing: DARPA and the Quest for Machine Intelligence, 1983-1993 (History of Computing) Dependable Computing for Critical Applications 5 (Dependable Computing and Fault-Tolerant Systems) Wireless Computing in Medicine: From Nano to Cloud with Ethical and Legal Implications (Nature-Inspired Computing Series) Selected Writings on Computing: A personal Perspective (Monographs in Computer Science) Binary and Hexadecimal Workbook for GCSE Computer Science and Computing (Comp Sci Workbooks) (Volume 1) Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation A Concise Introduction to Image Processing using C++ (Chapman & Hall/CRC Numerical Analysis and Scientific Computing Series) P-Prolog: A Parallel Logic Programming Language (World Scientific Series in Computer Science) Rlisp '88: An Evolutionary Approach to Program Design and Reuse (World Scientific Series in Computer Science) Diversity and the Tropical Rain Forest: A Scientific American Library Book (Scientific American Library Series) The Mathematics of Medical Imaging: A Beginner's Guide (Springer Undergraduate Texts in Mathematics and Technology) Before The College Audition: A guide for creating your list of acting and musical theatre undergraduate programs