
99 Bottles of OOP - bdcravens
http://www.sandimetz.com/99bottles
======
svec
I love Sandi's writing - and how they're giving it away for people who can't
afford it:

"Of course we want you to buy it. It's been years of our lives in the making,
and we have bills too. However, if you absolutely cannot afford it, we'll make
you a deal. Snail-mail us a postcard, and we'll email you a free copy.

A proper postcard, mind you, with a vacation-like scene, and an actual
postcard stamp. Hand-drawn postcards are both acceptable and encouraged. The
more effort you expend, the better we'll feel about our end of this bargain."

~~~
dopamean
Like another commenter I think $49 is a bit high for a digital book. However,
now that I know that they are giving it away for people who can't afford it I
don't mind as much. I can afford $49 for this book even if I think it's a
little high.

I guess this begs the question: if they dropped the price to $25 would more
people be able to afford it and then they wouldn't have to give any away? I
wonder what the "correct" balance is there.

~~~
aantix
$49 for a lifetime software engineering wisdom? You refactor a single class
that you never have to revisit again and you've easily paid for this.

I will never understand programmer's cost/benefit analysis..

~~~
superswordfish
That's assuming that what's in this book is exceptional (which you can't tell
without a preview). I didn't think that Practical Object-Oriented Ruby was
incredible, though it is a well-written tutorial of basic OO techniques. You
could spend less than $49 on a couple good used copies of OO classics, or many
more if you visit the right used bookstore. And it's not even a hard copy so
it is competing with the wealth of good free information online about OOP. I
might pay $99 for a hard copy of this, but no way I'd pay $49 for a PDF.

~~~
khedoros
> I might pay $99 for a hard copy of this, but no way I'd pay $49 for a PDF.

Generally, I like physical books more than electronic ones, and I'd be willing
to pay a premium for it. From what you're saying, a PDF of the book would
provide you < $49 of benefit, while a hard copy would provide you > $99. In
your opinion, what is the difference in value between those? What I mean is,
what specifically about the hard copy provides enough benefit that you'd pay
over twice as much for it?

IMO, the greatest proportion of value for a book I'd actually buy is in the
information it contains and the presentation of that information, rather than
the form it's published in. It's not like I don't have several devices that I
could use as portable readers, after all.

------
paultannenbaum
Is it just me, or does $49 seem high for a digital copy? I went to buy it
expecting it be somewhere around $20, and then had a bit of sticker shock when
I was in the checkout path. I know it took a lot of time and effort and on the
author's part, so not saying it isn't worth it, but for a non-physical copy it
seems like a pretty steep price. I ended up passing, wonder how many others
did the same as me.

~~~
Jemaclus
It's high, but not terribly high, imo. When it comes to professional
development, this could be considered quite cheap. A freelancer who charges
$100/hr can pay for this in 30 minutes, and if it gives more than 30 minutes
of productivity in the future, then it was worth it. (Figure out your rates,
and do the math. Odds are that it'll be worth it.) Furthermore, a lot (if not
most) companies will be willing to purchase such a book for their employees,
because the math is even better for them.

If you're a tech writer like Sandi, you can absolutely get away with $49/copy,
or even $99 or $199 per copy. They usually offer extended examples online or
what-have-you to justify the $199 price, but it happens all the time.

For professional development books like this, you can't really think of it in
the same terms as leisure books, like fiction, where the only benefit is
having a good time. There's a benefit that goes beyond entertainment --
benefits that are monetize-able by the reader. If I read this book, and I
learn something that allows me to do something in 30 minutes that previously
took me an hour, then I've effectively doubled productivity. That means I'm
more valuable -- and therefore, the book is more valuable. More valuable =
more expensive.

Hope that helps explain why it's the price it is. That said, I'm passing too.
I tend to prefer physical books for professional development, or ideally, a
physical + digital combo.

~~~
kbenson
I just wish there was a sample chapter or something. This sounds extremely
interesting and useful, but I'm not willing to shell out close to $50 whether
it _is_ interesting and useful. I'm also not going to send a postcard because
I _can_ afford it, I'm just not willing to risk $50 on something I have so
little information on. If we were in a bookstore I could at least crack it
open and see what it looks like inside.

Edit: Ah, found sample pages and chapter 3 at the purchase site[1]. That would
be a really good link to put in this announcement.

1: [http://www.informit.com/store/practical-object-oriented-
desi...](http://www.informit.com/store/practical-object-oriented-design-in-
ruby-an-agile-primer-9780321721334)

~~~
Sindisil
I believe that's their previous book, not "99 Bottles".

~~~
kbenson
You are correct. I arrived there by clicking on the bottle diagram, and wasn't
paying attention to the specific book it brought me to as I assumed it was the
one the page is about and was excited to see a link to sample content. That's
a shame.

------
RankingMember
I'd like to see the first few pages just to see what the style is like, ala
Amazon's "Look inside" function.

~~~
latortuga
Sandi Metz has another book on what I would guess is a similar topic,
Practical Object-Oriented Design in Ruby (colloquially, POODR). I found that
book to be highly practical to daily development and I expect this to be no
different. You might try googling for info about that book or perhaps try the
mailing list if you want to find out more before buying.

~~~
acchan
I'm curious about how the two relate to each other. Is 99B supposed to
supplant or complement POODR?

Edit: looks like the later. The Products page has a description of both:
[http://www.sandimetz.com/products/](http://www.sandimetz.com/products/)

------
sambe
I bought this and regretted it. The writing is nice and friendly, giving clear
explanations. They are particularly good at pinpointing and naming problems
with design.

However, contrary to the expectations I had from the web page, here, and the
introduction, it offers little to anyone with experience. I learned almost
nothing I didn't know from a few articles about TDD (I don't practice it) and
exposition is slow (no different from most programming books). The chapters
currently available also have little to do with the OO part of OOP: several
"OOP terms" are mentioned and used, but they apply and are applied without the
context of multiple classes.

I also agree with others about the high price. This seems a lot to me for an
ebook, and having got through it very quickly the feeling is only confirmed.
Two more chapters are due, as it's a beta, but I doubt this will change my
view.

I feel it would be a good book for someone new to programming and potentially
someone new to TDD. I would still feel obliged to mention value for money to
such a person.

~~~
rahilsondhi
I agree. This book is for beginners - very disappointed.

------
SCdF
I think it would be helpful to have a sample chapter.

I haven't read an OOP book in awhile, but when I did they often had a lot of
examples that while reasonably easy to follow didn't actually translate into
real world usage (`Car extends Vehicle implements Drivable` or whatever).

------
qwertyuiop924
I might be picking this up. Most OOP design books I avoid, as I have little
money and I dislike code with Java Syndrome (heavy focus on inheritence and
hierarchy, extreme verbosity, IDE focus, boilerplate with no end in sight,
patterns to replace your favorite features from Lisp,
java.net.org.lang.lang.really.long.reallylong.import.paths.path,
IteratorStrategyProviderFactoryFactoryFactory, etc. yes, I'm exaggerating
quite a bit, but there's a reason I avoid Java like the plague), but Ruby
tends to play home to practicality, and smalltalk refugees. This is good, and
means that this book is a far safer bet than, say, flashy OO design book of
the week.

Although, I should probably get around to reading Refactoring, and Design
Patterns. I've heard those are good...

~~~
SomeCallMeTim
>code with Java Syndrome

You might find that most of the Design Patterns and even some of the
Refactoring book are focused on working around limitations in Java/C++-style
languages.

>Although, I should probably get around to reading Refactoring, and Design
Patterns

I'd been programming for 20 years before reading either.

Both were...entirely unsurprising. Design Patterns at least defined a useful
vocabulary for talking about different patterns, so I found it useful in that
respect, and at least some of the patterns are useful outside of a Java/C++
language. Refactoring had some good wisdom on OO design, but it was pretty
much all stuff I'd picked up elsewhere or come up with on my own.

Wouldn't hurt to read through both at least once to see if there are any
surprises for you. Might be safe to just check them out of the library,
though. I kept Design Patterns around but gave away my Refactoring copy.

~~~
taco_emoji
Personally I really liked "Head First: Design Patterns" because it's more
about the overarching strategies (e.g. composition vs. inheritance) which
design patterns are merely examples of. It was more of a top-down approach - I
didn't realize memorize the patterns themselves, but internalized the
_justifications_ for them.

~~~
qwertyuiop924
Than I may look at that: I have long since learned the truism that it's better
to know how to think than what to think.

------
hacksonx
The intro sold the book to me but I'm a bit reluctant to buy it because of the
fact that it uses Ruby. I've just started working with Java (straight from
University last year) and I've come to realise that in comparison to other OO
languages which have evolved their syntax (C# & Python) Java hasn't. I doubt
it'll help me with Java. I've already invested in a few books and test
engines, mainly for my Oracle certifications.

~~~
phillmv
Iunno, what's unique to ruby?

I can only think of module mixins. Everything else (blocks, anonymous
functions, syntax sugar) can be roughly approximated (i.e. generics), since I
strongly doubt the book would use any of the metaprogramming features.

~~~
tln
Ruby uses messages for methods, allowing cheap delegation; classes can be
extended (monkey patched) after definition.

I doubt Ruby OOP code would avoid using all metaprogramming, at the very least
attr_accessor!

~~~
titanomachy
To me, metaprogramming means writing _new_ macros/templates, not just using
the "standard" ones.

------
kentt
I would have bought a physical copy, but I don't prefer digital copies of
books like this.

------
rjeli
The book seemed rather short for the price. Definitely had useful information
that helped me to understand issues I have with code design. It wasn't worth
$50 to me, but may be for other people.

~~~
bdcravens
Sandi really distills knowledge well. I haven't bought this book yet, but
after reading POODR, I'd take 20 pages from her over 100 from another author.
I think it's easily worth $50, but I realize we're in an age where we're used
to $19 ebooks. Again, I'd pay $100 for her material over somebody else's $19
book. (Not compensated or anything, just a fan of not wasting my time and of
awesome materials that help me accomplish that goal)

~~~
nerdy
This is a very accurate based on my impression of the 99 bottles book.

The information is plainly stated in a way which is so simple it's novel.

------
_zachs
$49 seems pricy for a digital book, but like said before, it's a small price
to pay in the grand scheme of things if you're making a decent salary and if
you write much better code after reading it.

That said, the broke college student in me is writing a postcard.

------
zwilliamson
Congrats on the release Sandi and Katrina! I am looking forward to reading it!
Just purchased and downloaded.

------
eliah
Unclear -- is this a physical book, an ebook, or both?

~~~
mattangriffel
Digital – every button on the page says "Buy Digital Book Now"

~~~
eliah
I swear they didn't say that a few minutes ago...anyway, ebook is what I
wanted, so I'm happy.

~~~
latortuga
The page is definitely undergoing launch changes, there didn't use to be an
offer for a physical book on the page either.

------
percept
The author has good presentations on YouTube, too.

------
hiou
Does anyone know how ruby specific this gets? Is it more about general
software development while simply using ruby as the vehicle or is it something
only ruby specialists would get something from?

~~~
JustinAiken
Sandi came and did the training this book is based on with our company, and
the iOS/Android devs got a lot out of besides the Ruby peoples... it uses
Ruby, but it's not _about_ Ruby.

