
Elegant Objects
by Yegor Bugayenko · first published 2016
8mentions
2recommended by
5HN commenters
2016–2024first – last mentioned
40% recommend60% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…will convey to you that this style is wrong, classes and objects are " too expensive", primitive values are fine, and that this is too verbose.* I learned about this style from Yegor Bugayenko's Book "Elegant Objects", go check it out. https://www.elegantobjects.org/ *) Yes, Java is verbose; not trying to defend that. I am very happy about keyword arguments in Python, for example. But, as soon as you have classes,…
on “Alan Kay: Smalltalk is not about objects, it’s about messaging (1998)” ↗My highlight was Yegor Bugayenko's "Elegant Objects". Volume 2 was released this year (however I found the first Volume (2016) much better). Yegor describes what went wrong with object-oriented programming. Whether you are stuck with Java or broaden your…
on “Ask HN: CS and programming books of 2017” ↗…I found them more helpful than the Red Dragon Book. The latter is good, but as a beginner I felt a little lost and Terence Parr's book was much more helpful. Practice & Karate ================= - "Elegant Objects" by Yegor Bugayenko - "Working Effectively With Legacy Code" - Michael Feathers - "Growing OO Software, Guided by tests" - Pryce, Freeman - "Test Driven Development" by Kent Beck And, this last one…
on “Ask HN: What language-agnostic programming books should I read?” ↗Recommended: Idea Flow, Enduring CSS, Beautiful Java, Elegant Objects, Apache Solr a practical approach, GSON (LeanPub)
on “Ask HN: Books you read in 2016?” ↗To add another perspective to the discussion, Yegor Bugayenko (author of the Elegant Objects books) says that splitting data and data manipulating objects are "pure evil" because when you do it that way it is going against OOP as you will get functions and data to operate on. Which is exactly…
on “Guidelines for writing readable code” ↗…need to force every peg into a coalgebra hole. True, but how awesome would it be if I did that anyway :D Regarding `max` and `pow` as objects: Yegor Bugayenko argues for a similar thing in his book "Elegant Objects".
on “The use of `class` for things that should be simple free functions” ↗Elegant Objects by Yegor Bugayenko actually argues against mutation in OOP for the same reasons that FP advocates due (bad for concurrency, hard to test, hidden state is hard to keep in your head, et cetera), but then…
on “Case against OOP is understated, not overstated (2020)” ↗That wouldn’t be object oriented. In OO you tend to want to ask an object about itself, Yegor talks a bit about this in his book Elegant Objects. What you are proposing is just functions or data-oriented programming; which is fine if that’s your thing, but I’d be weary because of the reasons you outline above. Can a book be an adult? What about…
on “Good refactoring vs. bad refactoring” ↗