logoalt Hacker News

99 Bottles of OOP now available in Python

235 pointsby mattcollinslast Friday at 3:39 PM74 commentsview on HN

Comments

crabmusketyesterday at 5:55 AM

I'd like to mention that despite OOP being in the title, I thought this book had a lot to teach that isn't specific to OOP architecture or OOP languages. Really, I think the star of the show is TDD and refactoring.

For a short intro to Sandi's style and approach, I always recommend this 35min talk: https://youtu.be/OMPfEXIlTVE?si=Ird6t8uDN86T06Y7

Aside from any specifically educational content, as a talk it is fantastic - funny, smart, well put together.

lastofuslast Tuesday at 9:12 PM

This is one of my favorite software development books of all time. It's the book that finally offered straight forward guidance and wisdom on how to properly utilize OOP language features.

I'm very happy to see it out for Python!

show 1 reply
robomclast Tuesday at 11:02 PM

Maybe this is misguided, but it feels a bit to me (comparing the ruby and js versions for example) that this is using the same code examples in both, and neither are really typical of the sorts of code people in either language community would actually write?

inanepenguinyesterday at 7:23 PM

While I understand the complaints against OOP, I highly recommend this book to anyone working in an environment where they're working with OOP languages/frameworks. There are plenty of Ruby/Rails shops out there still. At the very least I love the mentality that this book teaches and often recommend Tidy First by Kent Beck at the same time.

SiempreViernesyesterday at 1:38 AM

> The 2nd Edition contains 3 new chapters and is about 50% longer than the 1st.

I've never really had the problem that I've read an OOP text and felt "this was too short".

kubav1last Tuesday at 10:31 PM

Is the book DRM free? Sorry to be this paranoid, but you cannot be sure today.

show 4 replies
elashrilast Tuesday at 9:09 PM

Previous Discussion

Bottles of OOP - https://news.ycombinator.com/item?id=12129821 - July 2016 (71 comments)

show 1 reply
gigatexalyesterday at 4:14 AM

I’m gonna buy the book but I prefer composition over OOP. I prefer to have an init that takes some params where those params are fully baked clients of whatever services I need and then the class just uses them as needed. I don’t see a lot of value in having a Python class that might have a few or more classes that it extends where all the functions from all the classes crowd up the classes namespace.

Class Foo.__init__(self, db, blob_storage, secrets_manager, …)

Instead of class Foo(DB, BlobStorer, SecretsMgr)

Etc

show 3 replies
dennisyyesterday at 6:59 PM

I have seen quite a few digital books at this price point now. Personally I feel it is quite high, but I assume I am in the minority?

terafloplast Tuesday at 9:02 PM

HN's automatic title editing strikes again. The title of this submission should presumably be: "99 Bottles of OOP now available in Python".

show 2 replies
cutleryesterday at 2:16 AM

OOP is an industry of its own which generates a ton of incidental complexity. See "Object-Oriented Programming is Bad" by Brian Wills (https://www.youtube.com/watch?v=QM1iUe6IofM) and most of Rich Hickey's excellent videos, especially his keynote at Rails Conf 2012 where he basically told the Ruby crowd they're doing it wrong (https://www.youtube.com/watch?v=rI8tNMsozo0).

show 4 replies
henninglast Tuesday at 9:31 PM

[flagged]

show 1 reply
otteromkramyesterday at 1:44 AM

Thank you for using snake_case.

That's all I got. Best of luck!