

Everything is not equally good - mh_
http://37signals.com/svn/posts/3376-everything-is-not-equally-good

======
SatvikBeri
"FORTRAN and Python are equally good languages. YMMV"-useless and somewhat
suspicious.

"Python is generally better than FORTRAN."-more accurate for most people

"FORTRAN is good for numeric computing when performance is absolutely
critical. Python is better for almost anything where processing speed isn't a
major concern."-most useful and most accurate.

~~~
adulau
It seems that you right with your last statement:

[http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...](http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=python3&lang2=ifc)

based on the "Computer Language Benchmarks Game".

------
smackfu
I wish he would use real examples in these kind of posts, instead of just
talking about abstract good and bad ideas.

~~~
SatvikBeri
I think pg's essay "How Art Can Be Good" has a similar thesis but is much
better argued, with plenty of specific examples.
<http://paulgraham.com/goodart.html>

------
RyanZAG
So, what's better? Ruby on Rails or PHP? Probably Ruby on Rails... but then,
Facebook and half the internet has made amazing stuff out of PHP in likely
less time (and more bugs) than it would take to do with Ruby of Rails.

So.. _Your Mileage May Vary_ ?

~~~
jessedhillon
Leaving alone the idea that Facebook is written in PHP -- or any one language
-- if you are evaluating the OP's idea correctly you would have to look at
things being built _today_ in PHP. In my experience there are precious few
serious, large-scale, sophisticated projects being built today. (Probably
because if you need to build such a thing, you need real programmers, perhaps
with CS backgrounds, to do it and such people are very unlikely to use, or be
convinced to use, PHP)

Since this post is about evaluating ideas, within that context we would have
to look at the trend away from PHP and conclude that the community of
engineers* does not endorse PHP as a good idea.

*For some definition which includes people who work on sophisticated projects and excludes people who tweak Wordpress templates

~~~
RyanZAG
Feels like nitpicking, but alright...

What's better for making a blog? Tweaking a PHP wordpress theme or making
something using Ruby on Rails? _Your Mileage May Vary_ ?

The reason that term is used a lot is because there is a huge amount of
evidence that each technology choice usually has very specific project
criteria in which it shines, and if you change the criteria even a little bit,
there is often a technically better choice - let alone a new technology that
could be developed specifically for those new criteria.

~~~
jessedhillon
This seems like shifting goal posts. First we're talking about Facebook and
half the internet, now we're talking about context-specific technical
solutions (and I don't concede that WP is the unilaterally superior blogging
option either.)

Moreover, I'm not sure where your disagreement with OP is, since you're simply
saying now that for a given set of criteria, a superior choice exists. Which
was the message in the first place.

~~~
RyanZAG
The OP is saying we should not use terms like 'Your Mileage May Vary'.
Instead, we need to just say which solution is better. I'm pointing out how
this isn't the correct way to go about it unless you specify the exact
circumstances.

And this is where I agree with you completely. You can't say that because
someone is making a blog they must use WP as it is the correct choice. You can
say 'I believe WP will be the correct choice in making a blog but _Your
Mileage May Vary_ depending on what you want to do with the blog and if you
are more proficient in Ruby than in PHP.

This is exactly my argument, as the OP says you can't do this kind of thing
and need to give a concrete solution. However, this kind of thing is
incredibly necessary, and saying to use WP for every blog is just wrong.

------
andrewcooke
this is really a problem in software development? a lack of opinions?

i wish i lived in the author's world. in mine, developers seem to take it as a
badge of honour to have an opinion about _everything_. and if they can be an
intolerant, insufferable arse about it: bonus points!

[edit: actually, i should clarify. my colleagues are actually pretty good
about this; it's online where the volume is always turned to 11.]

~~~
pron
Right. This post is just stupid ;)

------
dgurney
This kind of reasoning on the part of DHH is troubling to me. He's basically
saying that there is always one best way to do something. That may be correct.
But what's troubling is that Rails is so focused on its "One best way" to do
everything. Rails forgoes complete through-and-through consistency in favor of
"magic" -- because it's quicker and easier. That's fine, but it doesn't have
the ring of complete truth that I expect from a truly great idea, or
framework.

~~~
fusiongyro
To be fair, a big part of the Rails 3 rewrite was making it modular so you
could have different opinions. Of course, not everybody was as equal as
everybody else; a lot of Rails extensions seem to assume that you stuck with
the defaults. Devise, last time I checked, was very hard to integrate if you
switched out ActiveRecord for Sequel. But my information is a couple years out
of date.

I think this blog post is really more about reminding people of DHH's brand
than adding anything new. Rails has always been "opinionated" software.

------
arscan
Didn't DHH basically use "your mileage may vary" in his "The Parley Letter"
essay? [1]

> _So yes, the closer your application is to an application like Basecamp --
> and I make that net extremely wide, I consider, say, 500px, Github, Shopify,
> and others to fall into "close enough" -- the closer you are to the primary
> use case that guides the development of Rails._

...I read that as "your mileage may vary" for rails if your application is
dissimilar to basecamp, because design decisions are primarily made to support
basecamp's use case (and not yours). Its more subtle than that, and you need
to read the essay for the context of that statement, but that was one of the
things I took away from it.

[1] [http://david.heinemeierhansson.com/2012/the-parley-
letter.ht...](http://david.heinemeierhansson.com/2012/the-parley-letter.html)

------
Aga
I like this non-relativist stance. Simply stating YMMV often kills what could
have led to a good conversation, thus possibly preventing us from learning
more.

I'd like to couple this attitude with the great advice of having "Strong
opinions, weakly held".
([http://bobsutton.typepad.com/my_weblog/2006/07/strong_opinio...](http://bobsutton.typepad.com/my_weblog/2006/07/strong_opinions.html))

~~~
npsimons
If YMMV is getting abused, that's a problem with the abusers, not YMMV. I've
always taken YMMV to mean "your use case may be different than mine; I don't
know everything, but this works for me in this situation."

------
CapitalistCartr
Good, better, best, bad worse, worst are relative terms; they only have
meaning in context.

------
drv
Purely pedantic nitpicking, but the title feels poorly worded to me.

"Everything is not equally good": for all x and y in the universe of things, x
is not equally good as y - seems nonsensical

"Not everything is equally good": there exists some x and y in the universe of
things for which x is not equally good as y - seems to be the actual intent of
the post

YMMV. :)

------
slurry
"Everything is not equally good." For example, Ruby on Rails is not equally as
good as Scala[1].

[1] twitter dot com

~~~
randomdata
Twitter still uses Ruby on Rails to generate the website, as always. Their use
of Scala is on the backend; the services that lay behind the Rails app.
Facebook uses a similar architecture behind their PHP code, using many other
languages, including Java.

~~~
fizx
If that's still true, it won't be for very long.

~~~
chc
It's been the case for three years now. Why would you expect change very soon?

