

Full description not available
E**K
Great For People Who Never Programmed/Didn't major in CS
This is a great book for those who have never programmed or never got any formal education on object oriented programming. I was a MIS major and have pretty much been a SQL DBA straight out of college, so my skillset mainly revolved around T-SQL with some scripting knowledge in PowerShell. This book does a great job of breaking things down and using real world examples for explaining things such as Classes, Public and Private Types, Interfaces, Inheritance, and Polymorphism in layman's terms. It also goes into explaining the differences between "Structured" vs "Object" programming.If you ever read a beginner's book for any language and got lost whenever concepts such as instantiation, public/private classes/methods, why namespaces/libraries are named the way they are, how to access methods, etc. then this book is for you. I really enjoyed how it breaks down classes and explains best practices for determining what should be available on the interface. After reading this, I feel I can look at existing classes and know right away what it's trying to do. The author even does a nice job of explaining some of the history behind languages and the paradigm shift to object orientation programming. Overall, if you ever read tutorials or books regarding programming and wondered "why" things were written the way they were then this book does a good job of answering most of that.
D**J
Many excellent chapters, Elvis leaves the building at times
The best audience for this book is a programmer who approaches coding procedurally and needs to be led in the direction of thinking object oriented. In fact, a number of chapters are flat out some of the best and clearest introductory material I've read on OOP. Some of the middle chapters of the book are just rearranged words saying the same thing in circles. You'll read it thinking something new will come of it, but it doesn't. The latter part of the book are misc chapters giving a short overview or discussion of things like UML, XML, JSON, Serialization, Marshaling, Web Services, and Design Patterns, and some of that is new in this fourth edition. These range from laughably cursory to excellent at times. Much of that material is obviously for beginners. The chapter on design patterns is probably the best introduction on the subject I've read, but it does suffer from the same problems as the rest of the book, as I'll note below.If you read the third edition, the same errors are there in this fourth. The editing problems are disappointing. Like on page 223 he says, "By now you should realize that this is an actual application...The fact that the code has a main method in it is a sure tip." OK, well, the code doesn't have a main method. It leaves you wondering, "What planet am I on, did I miss something?" Another example: At the end of chapters it seems like he inserts the wrong portions or odd choices of code. Just really inconsistent stuff like that. And then there are things like sentences from previous paragraphs that reappear again almost word for word. Not to mention things like sentences from previous paragraphs that seem to appear again almost word for word.I was tempted to give this book three stars because some of it is repetitious or pointless and especially because of the editing issues. Despite its generous portions of brilliance, I just didn't think the author should be rewarded for putting so little care into it as a whole, especially for what you would expect by a fourth rewrite! But I'll tell you, a lot of chapters are really excellent for the right audience. Also on the positive side, the code examples are very clear and to the point. While ideas are usually introduced with java samples, he also includes C# code and gives nice context to C++. It would be nice if the coding in the book was more practical, but it's usually the "model the world" kind of stuff which doesn't help you learn how object-oriented thinking applies to real coding.I should note that practically every chapter references "Object Oriented Design in Java" by Gilbert and McCarty, published in 1998. That book obviously really influenced the author's life.
N**.
Excellent!
The first chapter is profoundly enlightening. There is a reason I like to buy books on programming concepts rather than exclusively relying on the blogosphere. I spent a week at work trying to understand our legacy codebase and after reading the first chapter of this book I immediately starting to understand our codebase with much more clarity and fixed the issue we were dealing with very quickly. I also began to immediately see many ways in which the way things are currently implemented aren't correct and create more problems than help.---- UpdateI finished reading this book and all I can say is great things about it. The author understands the subject AND the reader so well that he nearly 100% of the time know exactly when to explain things a little more or less. My code has become so much cleaner as a result of reading this and my understanding of design patterns is much much better now. This was the foundational knowledge I was looking for that would tie together so many ideas like SOLID programming, separation of concerns, and as mentioned design patterns. I read this book in about 2 weeks because it was written in a language that makes it easy to absorb and fly through. I think I was ready for this knowledge as well after having written tons of programs without this solid background 'theory'.
D**W
Good info
I am back in school working on another degree in IT, so have to do some programming. I've had classes in a few scripting and programming languages, but don't work as a developer, so my programming skills are still "novice". I bought this book after a recommendation from a fellow classmate, and read it to supplement and review textbook Java programming coursework. For an experienced object-oriented programmer this is probably too basic of a book, but for a student or someone new to programming, the information here is clear and explanatory. Even if someone were looking at programming as a possible career, reading this book to get an idea if you can even get some basic OO concepts could be useful.
R**S
A good book
Simply that: I liked the book and it helped me to understand and learn the main concepts of OO-Thinking. Besides that the different sections provide valuable references to third authors in case the reader wants to go deeper into the contents.
M**N
that the boiks cover the basics of the subjects
It gives an insight into how object oriented programming works
S**N
Reads like a bad undergraduate essay
I worked grading essays for years as a TA and this reads like a bad undergrad essay. Please pay a copy editor. It's an insult to your reader to not edit your work. There's no real coherent organization. Sections start a topic and then switch to something else entirely, sometimes mid paragraph! There's often little coherence from one sentence to the next. The amount of repetition is simply mind blowing. I could turn this into a 40 page book without losing any content. This is the 4th edition? It's not print worthy, simply put. These are complicated issues that demand clear, concise writing. As such, I can't recommend this book. If you're curious, I suggest borrowing it from the library.
R**N
Good Book
I liked this book and if you're new to OOP it is a thorough overview which I found easy to read. I can't see this being much use to people already in the industry other than a handy reference though.
U**D
Five Stars
no problem
Trustpilot
1 week ago
3 weeks ago