Bottles of OOP now available in Python
99 Bottles of OOP by Sandi Metz is a comprehensive guide to object-oriented programming, now in its expanded 2nd Edition, suitable for all skill levels, emphasizing practical coding techniques.
Read original article99 Bottles of OOP, authored by Sandi Metz, is a comprehensive guide aimed at enhancing the quality of object-oriented programming (OOP) across various languages, including Python, JavaScript, PHP, and Ruby. The 2nd Edition has been expanded to include three new chapters and is approximately 50% longer than its predecessor. It emphasizes practical programming techniques that lead to maintainable and aesthetically pleasing code. The book covers essential concepts such as Test-Driven Development (TDD), proper refactoring, and the application of object-oriented design principles. It is designed for programmers of all experience levels, providing step-by-step guidance to improve code clarity and adaptability. The book is available in multiple digital formats and offers a unique purchasing model that allows buyers to download versions in different programming languages. The current version, as of November 15, 2024, is 2.2.1, comprising around 105,000 words. The author aims to bridge the gap between theoretical knowledge and practical application, making it a valuable resource for anyone looking to enhance their coding skills.
- 99 Bottles of OOP is available in multiple programming languages: JavaScript, PHP, Python, and Ruby.
- The 2nd Edition includes three new chapters and is 50% longer than the first edition.
- The book focuses on practical techniques for writing maintainable and beautiful object-oriented code.
- It is suitable for programmers of all skill levels, from beginners to experienced developers.
- The current version is 2.2.1, released on November 15, 2024, and is available in various digital formats.
Related
When Objects Are Not Enough
Tony Messias examines Object-Oriented Programming's foundations, emphasizing actions in Laravel, historical context from Smalltalk, and critiques modern interpretations, advocating for a deeper understanding of OOP principles and experimentation.
Programmers Don't Read Books – But You Should (2008)
The article highlights a decline in programmers reading books, favoring online resources instead. It critiques the poor quality of many programming books while recommending five essential titles for professional growth.
Show HN: I Wrote a Book on Java
The book "Data-Oriented Programming in Java" emphasizes organizing programs around data for simplicity, highlights recent Java features, and offers a 50% discount for early access readers until October 9th.
OOP is not that bad, actually
The article compares Object-Oriented Programming (OOP) and Haskell's functional programming, highlighting OOP's advantages in collaboration, library extension, and backward compatibility, while noting Haskell's challenges in these areas.
Distributed Systems 4th Edition
The 4th edition of "Distributed Systems" by Maarten van Steen and Andrew S. Tanenbaum features updates on blockchain, revised Python code, free digital copies, and additional teaching resources available for download.
- Many commenters appreciate the book's practical guidance on object-oriented programming and its applicability beyond OOP.
- There are concerns about the relevance of code examples across different programming languages, suggesting they may not reflect typical practices.
- Some users express a preference for composition over traditional OOP, highlighting different programming paradigms.
- Questions arise regarding the book's format, including its length and whether it is DRM-free.
- Several users share links to related talks and discussions, indicating a broader interest in the author's approach and philosophy.
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.
I'm very happy to see it out for Python!
I've never really had the problem that I've read an OOP text and felt "this was too short".
Bottles of OOP - https://news.ycombinator.com/item?id=12129821 - July 2016 (71 comments)
Class Foo.__init__(self, db, blob_storage, secrets_manager, …)
Instead of class Foo(DB, BlobStorer, SecretsMgr)
Etc
That's all I got. Best of luck!
Related
When Objects Are Not Enough
Tony Messias examines Object-Oriented Programming's foundations, emphasizing actions in Laravel, historical context from Smalltalk, and critiques modern interpretations, advocating for a deeper understanding of OOP principles and experimentation.
Programmers Don't Read Books – But You Should (2008)
The article highlights a decline in programmers reading books, favoring online resources instead. It critiques the poor quality of many programming books while recommending five essential titles for professional growth.
Show HN: I Wrote a Book on Java
The book "Data-Oriented Programming in Java" emphasizes organizing programs around data for simplicity, highlights recent Java features, and offers a 50% discount for early access readers until October 9th.
OOP is not that bad, actually
The article compares Object-Oriented Programming (OOP) and Haskell's functional programming, highlighting OOP's advantages in collaboration, library extension, and backward compatibility, while noting Haskell's challenges in these areas.
Distributed Systems 4th Edition
The 4th edition of "Distributed Systems" by Maarten van Steen and Andrew S. Tanenbaum features updates on blockchain, revised Python code, free digital copies, and additional teaching resources available for download.