# Another reason Rails doesn't suck

**URL:** <https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189>\
**Category:** Ruby\
**Created:** [September 10, 2006, 5:22am UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189 "2006-09-10T05:22:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 5:22am UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/1 "2006-09-10T05:22:07Z")

</div>

Rubies:

I got to the deceased equine flagellation party late, so I will find a  
different angle.

Read:

[http://c2.com/cgi/wiki?ConfigurationHell](http://c2.com/cgi/wiki?ConfigurationHell)

That page lampoons a very well-regarded and highly successful servlet  
engine  
called Tomcat. (Written in a language whose name begins with J.)

Installing and configuring Tomcat is a total pain in the sphincter. The  
system depends on endless configuration files, in various languages,  
with  
invisible connections between them, and no “trail of breadcrumbs” to  
lead  
you through everything. If you get one line item wrong, the system will  
might provide a log file, and might provide a cryptic error message.  
This  
might lead you to the wrong module and config file, looking in the wrong  
place to supply a fix. If you then screw that file up, you can’t tell if  
the  
new error message is progress or a regression.

Now compare Tomcat to our least un-favorite servlet system. Rails  
prefers  
“convention over configuration”. That seems like a new nuisance; for  
example, some database table names must be plural (or something like  
that).

It’s not a nuisance. The comparison to Tomcat illustrates just how  
powerful  
this weak but flexible concept can get!

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 1:02pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/2 "2006-09-10T13:02:36Z")

</div>

Phlip wrote:

> That page lampoons a very well-regarded and highly successful servlet engine  
> called Tomcat. (Written in a language whose name begins with J.)

To be honest, Tomcat is even by some people who like said unnamed  
language considered a baroque beast. And Apache couldn’t write  
documentation to save their lives. You’re beating a dead horse in the  
wrong place here.

> Installing and configuring Tomcat is a total pain in the sphincter.

I see your Tomcat, and I raise you by Oracle Express Edition on Ubuntu /  
Debian. Which won’t even -start up- out of the box when installed from a  
.deb because their preinst and postinst scripts are buggy. Yay IT.  
Tomcat at least lets you go with defaults and blissfully ignore all  
config files that aren’t your WEB-INF/web.xml when you just need a  
development setup.

> It’s not a nuisance. The comparison to Tomcat illustrates just how powerful  
> this weak but flexible concept can get!

It’s the very opposite of flexible, actually, in that it strictly binds  
you to What They Know Better. Which works, and works well, until you  
find that one edge case where it doesn’t, and you’re screwed. It’s  
cushy, but as it stands, it’s actually a limitation

Where I work there’s probably more people talking German than English,  
and a lot of development gets done in Slovak - complete with code  
identifiers (the documentation is easier to access if you don’t have to  
map from slovak legalese to geekish all the time.) Rails table name  
conventions that can’t be overriden short of jumping through some major  
hoops have the usefulness of a chocolate teapot in that environment.

David V.

PS: Java trolls. GO HOME!

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 12:46pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/3 "2006-09-10T12:46:35Z")

</div>

Phlip [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Now compare Tomcat to our least un-favorite servlet system. Rails prefers  
> “convention over configuration”. That seems like a new nuisance; for  
> example, some database table names must be plural (or something like that).
> 
> It’s not a nuisance. The comparison to Tomcat illustrates just how powerful  
> this weak but flexible concept can get!

For English speaking countries.

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 4:50pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/4 "2006-09-10T16:50:53Z")

</div>

Stefan S. wrote:

> > “convention over configuration”

> For English speaking countries.

Shouldn’t a team already be practicing Ubiquitous Language? whatever its  
base?

David V. wrote:

> I see your Tomcat, and I raise you by Oracle Express Edition on Ubuntu /  
> Debian.

Whip me. Beat me. Make me install Oracle.

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 5:14pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/5 "2006-09-10T17:14:55Z")

</div>

> To be honest, Tomcat is even by some people who like said unnamed  
> language considered a baroque beast. And Apache couldn’t write  
> documentation to save their lives. You’re beating a dead horse in the  
> wrong place here.

Hey! We try to get the docs at least 50% right 🙂 - for bad docs I  
point to the poster child #1 hibernate - only way to get even  
semi-decent docs is to buy a book

> > Installing and configuring Tomcat is a total pain in the sphincter.

It’s really not that bad by itself, but when you add in the large  
amount of thirdparty cruft that most Java web-apps require, yes it  
becomes a pain.

> I see your Tomcat, and I raise you by Oracle Express Edition on Ubuntu /  
> Debian. Which won’t even -start up- out of the box when installed from a  
> .deb because their preinst and postinst scripts are buggy. Yay IT.

Oracle 10g for linux out of the box will not install - the install  
shell files have hard-coded directory names for the engineers pesonal  
workstations - you have to edit these shell scripts yourself after  
downloading gigabytes of crap (why no cli installer?), and at the end  
of your frustrating hell of installation + fixes to Oracle’s own code  
you get a crappy web interface - even 9i had an application to control  
the db (as bad as it was). 10g is a hell of a mess - right now a  
decent db with good support could take a fair-sized chunk out of the  
Oracle market-share, it’s just not going to happen when for [not.net](http://not.net)  
projects it’s the de-facto ‘enterprise’ db. - And all this is on the  
Oracle supported platform Redhat enterprise.

> PS: Java trolls. GO HOME!

Ok I’ll get me coat…

Kev

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 5:34pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/6 "2006-09-10T17:34:57Z")

</div>

Kevin J. wrote:

> Hey! We try to get the docs at least 50% right 🙂 - for bad docs I  
> point to the poster child #1 hibernate - only way to get even  
> semi-decent docs is to buy a book

Well, Hani of bileblog’s quotes from the Axis 2 API and docs are pretty  
scary too. Although the link to Tomcat’s DefaultServlet source was also  
enlightening.

> and at the end  
> of your frustrating hell of installation + fixes to Oracle’s own code

And here I thought giving up when sqlplus rejected the SYSTEM password I  
told the configuration 60 seconds before was being persistent…

David V.

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [September 10, 2006, 5:20pm UTC](https://www.ruby-forum.com/t/another-reason-rails-doesnt-suck/68189/7 "2006-09-10T17:20:55Z")

</div>

Phlip wrote:

> Stefan S. wrote:
> 
> > > “convention over configuration”
> 
> > For English speaking countries.
> 
> Shouldn’t a team already be practicing Ubiquitous Language? whatever its  
> base?

Tell that to existing in-house codebases. Also, you “are allowed” to  
other languages if you’re sure noone that can’t speak that language will  
ever have to read the code. Which just so happens to be a not really  
rare situation, and you can’t really think bad of developers that prefer  
to code in their native language when it’s permissible.

David V.
