99 Bottles of OOP - 2nd Edition

99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code. 

Now available in Python, as well as JavaScript, PHP, and Ruby!

It explores: 

  • Recognizing when code is "good enough"

  • Getting the best value from Test-Driven Development (TDD)

  • Doing proper refactoring, not random "rehacktoring"

  • Locating concepts buried in code

  • Finding names that convey deeper meaning

  • Safely altering code by following the "Flocking Rules"

  • Simplifying new additions with the Open/Closed Principle

  • Avoiding conditionals by obeying the Liskov Substitution Principle

  • Making targeted improvements by reducing Code Smells

  • Improving changeability with polymorphism

  • Manufacturing role-playing objects using Factories

  • Hedging against uncertainty by loosening coupling

  • Developing a programming aesthetic

What Makes It Unique?

We are practical people. We love beautiful code but we're also committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches practical programming techniques that lead, naturally and inevitably, to beautiful code.

This book contains an extended refactoring, and it details the rationale behind every change. It is a hands-on workbook rather than a list of theoretical ideas. It explains how to use the principles of object-oriented design to guide, not just the final arrangement of code, but each decision about what line of code to write next.

It teaches the theory of what good OO looks like, but even better, it supplies step-by-step guidance about how to achieve it.

Who Should Read It?

The lessons work for programmers with a broad range of experience, from rank novice to grizzled veteran. Regardless of your background or preferred programming language, 99 Bottles of OOP will teach you techniques to make your code easier to understand, simpler to change, and more satisfying to contemplate.

What's new in the 2nd Edition?

The 2nd Edition contains 3 new chapters and is about 50% longer than the 1st. Also, because 99 Bottles of OOP is about object-oriented design in general rather than any specific language, this time around we created separate books that are technically identical, but use different programming languages for the examples.

99 Bottles of OOP is currently available in the JavaScript, PHP, Python, and Ruby programming languages, and beer and milk beverages. It's delivered in epub, kepub, mobi and pdf formats. This results in eight different books and (4x2x4) 32 possible downloads; all unique, yet still the same. One purchase gives you rights to download any or all.

What formats are available?

99 Bottles of OOP is currently available in digital form only (epub, kepub, mobi, pdf) and will be delivered from DPD.

What's The Current Version?

As of December 1, 2024, the current release of the 2nd Edition is version 2.2.2 (see errata). This is the complete book, and is approximately 105,000 words long (bigger than most novels, and right up there up with some beefy science fiction).

Read the JavaScript, PHP, Python, and Ruby samples.

Peruse the reviews.

Listen to the Why Are Computers podcast.

Read the JavaScript, PHP, Python, and Ruby samples.

0,99 Bottles of OOP - 2nd Edition

Need 10-24 copies? Use coupon code treat.the.team for 20% off.
25-99? Coupon code  gratify.the.group for 25%.
100+?  Email human@99bottlesbook.com for a great deal.

Use coupon code CINCIN2024 for a 40% discount on the 99 Bottles of OOP book and the POOD-I video course December 4 - 13.

"Everybody complains about the weather but nobody does anything about it." Likewise, everyone has an opinion about what good code looks like, but those opinions don't help you create it. This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means. “

- 99 Bottles Of OOP

Found a mistake? Please submit errata.

Have a question? Read the FAQ.

Can’t afford the book? Send us a postcard.

Didn’t love the book? Send us an email.