

I'm doing it wrong? - sdpurtill
http://www.amemototheinternet.com/2008/07/30/im-doing-it-wrong/

======
swombat
Yes, on many of those points, you're doing it wrong.

 _Whatever, it’s okay not to use a framework. And if you don’t count Smarty as
a framework, then you really don’t ever need a Framework._

No, m'dear. It's not ok to not use a framework for non-trivial web
applications where so many suitable frameworks exist. If you're writing a
reasonably complex application, you are _always_ using a framework. The
question is just - which framework are you using? The one you cobbled together
while focusing on building actual functionality, or the one that a lot of
people have poured countless hours into to make it good?

Yes, you're doing it wrong.

 _Wrong. You do not need to use an ORM layer. If anything, your life will be
more painful later as you figure out that many of your bottlenecks are
abstracted out of sight and are hard to uncover._

Not using an ORM layer as a way to resolve future, unknown performance
problems is an extremely stupid example of Premature Optimisation (
[http://www.inter-sections.net/2007/11/08/premature-
optimisat...](http://www.inter-sections.net/2007/11/08/premature-optimisation)
). Why don't you write it in assembler while you're at it? Then your code will
be even faster.

Yes, you're doing it wrong.

 _Chris has clearly never used a Ruby Gem or CPAN or PEAR. Much of it is slow,
buggy garbage._

I use gems and rails plugins every day. Whatever Chris may have used or not
used, I find them extremely suitable for many tasks. If you're writing your
own code _all_ the time, you're wasting your valuable time.

You're doing it wrong.

 _If you rely on unit-testing, you are setting yourself up for a rude
awakening._

If you believe that, you have never been awake.

You're doing it wrong.

 _If you spend half your time ensuring you DRY, you are wasting your time._

Half is a bit much, but Chris never mentioned half. Classic strawman. If you
don't spend any of your time refactoring your code, you're doing it wrong (I
can do strawmen too)

 _If only because I worry that some of the smart-but-inexperienced YC folks
might actually believe what he writes._

Don't worry about us, worry about yourself.

~~~
senorprogrammer
For the record, I revised the first post from "ORM" to "database abstraction
layer". A number of the more intelligent counter-points to that were correct;
stating that one should only use an ORM was unintentionally too domain-
specific.

~~~
swombat
I think that for web applications, ORM is the right word. In fact, for almost
anything that uses a database, an ORM is warranted. This is from someone who's
done it both ways several times, including writing my own ORM a couple of
times both as a side-project and as part of a project that "didn't need ORM".

------
ajross
Shorter version: pedantry sucks. There was little to no insight in the
original, it's just a list of stuff that can reasonably be argued to be
"good". Those rules won't a great product make, but breaking them doesn't seem
like a great idea for most people either.

My own feelings are closer to this poster's than the original list of
admonishments, but these aren't issues that anyone should really be getting
upset over. Basically: don't refute shopping lists. It just wastes everyone's
time.

