Full description not available
P**Z
Must Read for Today's Changing Job Interviews
Some companies still put you in front of a whiteboard and ask you to code. BUT, given the amount of coding that's going to Russia, China and India, the hot upcoming jobs are in coding MANAGEMENT, Data Science, Embedded Systems, Sploit management and other high level design categories. Many even smaller companies are now creating a "CDSO" (Chief Data Science Officer) position which in some cases pays in the high 6 figures.This book is outstanding for the nitty gritty not just of how but WHY we select certain Design Patterns, structures, algorithms, and, in short, solution sets. It is a fun read and if you know any OOP language you'll have no problem with the C++ examples, they are not that advanced, but do make great and unusual points about options in, for example, modifying for efficiency or to avoid "reinventing the wheel" (or as the saying goes, reinventing the flat tire!).I interview hundreds of prospective coding managers, and I prefer to keep the questions at the 30,000 foot level of this text-- solution strategies, not just coding conventions or syntax. A lot of good people, especially overseas, can code, but very few can adeptly wind through imperative vs. functional, or modular modification vs. untouched APIs that aren't an exact fit to the problem definition.Everything from sliding puzzles and Sudoku are used by this engaging author to highlight examples not just of solutions but the differences between solution strategy options underlying those choices. The pedagogy is outstanding, as I'm finding with many No Starch titles, and you really remember this author's examples. He doesn't just understand analogy generalization deeply, he uses it adeptly throughout the book. I've found VERY FEW books that even attempt to do this, let alone do it well.A classic like Code Complete (CC) will give many more of the details that are illustrated in this book, but a triple threat of OOP Demystified, this book, and CC will make your interview, or consulting gigs, go much smoother. If you're considering writing a software book, this is a must read just for the pace, pedagogy and format. NOT a text from the standpoint of "solutions in the back," but great for changing your frame of reference about IT in general and problem solving specifics. Highly recommended.EMAILER NOTE: If you agree with some other reviewers that C++ is a "bias" you might enjoy Michael L. Scott's: Programming Language Pragmatics, Third Edition-- it is 900 pages and covers problem solving (in general and with specifics) in far more detail, and includes C++, Java, Ada, C# and Fortran in imperative and F#, OpenMP, and Scheme in functional as well as Erlang in concurrent/parallel. Some reviewers took umbrage that the author considers C++ a "real" language, but to be honest, people who code for nuclear plants and jet engines DO use C and C++, and many of them think of scripting languages as kid stuff. This isn't my opinion, just wanted you to understand a lot of the thinking out there. That said, LISP folks look down on C++ folks too in some cases, and circuit designers dealing with ML and Assembler think we're ALL kids!Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
A**N
Amazing and Thought Provoking for Perfectionists
I’ve been coding for 6 years. I always struggle at solving problems, or even getting projects started. I always strive for perfection, but this book highlights that really you don’t need to be perfect or an expert. You can come up with a solution and move forward, then learn new techniques and apply it to your previous solutions or projects. Programming is a work in progress. And you get better as you continuously challenge yourself and apply what you learn.
C**A
I wish this had been one of my college textbooks
My college did a decent job of training computer majors to be problem solvers. This book would have made an excellent companion text to instruction on data structures and algorithms.The author recommends knowledge of or simultaneous study of C++. I feel it would be accessible to any programmer in the C language family. Programmers in other languages could also obtain some benefit, but understanding would be a harder climb.Sure wish my workplace had allowed the luxury of studying a language before building production applications with it. Some of the author's recommendations in the last chapter are not always within the working programmer's control. The difference between academia and the rest of the world.All in all, well written, good use of examples, and sensible exercises to put the concepts into practice.
D**A
Easy to follow, half way through . I like it so far.
Great quality book.
M**A
Great Into book
I can't rate this personally but I am rating based on the person whom I bought it as a gift for. He says this was a really good read and a great Intro book to programming.
A**6
Enjoy my first read, will definitely re read it
I found it funny because this book used C++ programming language for all its examples, which I'm not really familiar with. Now that I finished this book, I'm grateful that I didn't just learn new language, but also much larger concepts
S**A
Great book. Uses C++ most programming concepts and issues ...
Great book. Uses C++ and elaborates on most programming concepts and issues and puts them in words that allows you to conceptually understand. This book had arrived badly damaged, as if it was kicked across a concrete floor and then put into the box for shipping.. contacted amazon for a replacement so all is well.
K**R
Highly recommend this book for all of self-taught programmers.
A very useful book for anyone, specially for self-taught programmers because the book teaches the real problem-solving techniques not just libraries.
Trustpilot
2 months ago
1 day ago