Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ Free Shipping
+ $3.99 shipping
Elegant Objects (Volume 1) Paperback – February 22, 2016
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
"Yegor Bugayenko's books, Elegant Objects I & II, show you how to correctly and elegantly implement the object concept in code; while all other books show you how to use code to warp and corrupt the object concept." - David West, Author of Object Thinking. "Probably the most practical book about OOP I've read so far." - Anton Arhipov, Java Champion, Developer Advocate at ZeroTurnaround.
"I definitely enjoyed this book and will be re-reading it again soon." - Ben Nadel, Co-founder at InVision.
"It's facinating." - Baruch Sadogursky, Developer Advocate of JFrog.
"Well-written, entertaining, practical, bold and marginal at times." - Eduards Sizovs, Co-founder of DevTernity.
"It is one of the best books if you have a lot of experience in different projects." - Anton Chernousov, Founder of "The Art of Programming" podcast.
From the Author
Kindle/Electronic edition won't be available until the end of 2018.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I also like author's use of objects' anthropomorphic point of view, i.e. looking at objects as living organisms with behavior. I think that helps readers shift their mindset from "thinking like a computer".
Sad aspect is author's lack of reasoning and use of strongest possible words. "pure evil", "it is dumb", "absolutely terrible", etc. This position of know-it-all paradoxically show's authors ignorance; and often he openly admits he doesn't know the reason, but "just don't do it". The advice is still good and there may be other reasons, but author would have to be open-minded and maybe read other books to acquire deeper understanding.
I also felt sometimes that I've been cheated. He writes one example to prove point of argument, and in next chapter says the example it's not actually good and changes it to prove his new point. This inconsistency doesn't add up much of credibility.
But overall good book for beginners looking for OOP approach.
The author claims that his interpretation of OO makes programs more maintainable and performant, but does not realize that he is reiterating the tension between eager and lazy evaluation. Without realizing it, he is proponent of the latter, and Is unaware that precisely lazy evaluation “by default” is a source of performance problems and excessive memory usage in Haskell, and a big stumbling block for newcomers. It is problematic to the extent that people are experimenting with Haskell dialects where eager evaluation would be the default. Even Simon Peyton Jones has said that “the next Haskell will be strict”.
Even though the book contains a few sound advices (the chapter on testing, “fail fast” philosophy), the overall tone of the book is condescending and gives an impression that the author thinks very high of himself because reading a couple of books on OO lead him to some kind of “revelation”.
Conclusion: these books are way too expensive and basically a waste of money. I’m sorry I bought them. I’ll write a longer, more thorough review on my webpage. After that, I'll give away my copies for free.
No getters or setters!
I do think this is an interesting book if you have some more experience. I found it a stimulating read, because it spurred me to have a mental argument with the author most of the way through. I was able to find some new insights and it prompted me to re-examine some prior assumptions, and it certainly wasn't boring. But I think you need to read critically.
Most recent customer reviews
Very interesting point of view on Object Oriented Development!
It clearly describes OOP in the way ”how it should be”.Read more