
Why I hate Rails - hausburger
http://kakubei.blogspot.de/2012/05/why-i-hate-rails.html
======
terenceponce
This article sounds like pure whining to me. Now that I've expressed my
opinion on the subject, I'd like to point out the fact that the things that
the author is whining about are not specific to just Ruby on Rails. Things
like learning the actual language, knowing the concept of MVC, doing TDD/BDD,
knowing various templating languages, databases, Javascript frameworks, and
deployment are all part of the things you need to know in order to do actual
web development.

Also, despite how Rails makes it easier and quicker to create web applications
through scaffolding, Ruby on Rails is not a beginner's framework. It has
abstracted most of the concepts that a lot of experienced developers have
taken for granted and spend a lot of time into to make it easier to write
applications. The downside to this is that it makes it hard for beginners to
understand what happens under the hood. Let's take ActiveRecord for example.
I'm certain a lot of beginners don't even know what an ORM is, but I'm pretty
sure a lot of experienced developers know this already. While it may seem fine
at first, when you get to the point where you actually need to do low-level
SQL queries, the beginners won't even know what do to do to solve their
problems.

TL;DR: If you actually agree with this article, you probably should stay away
from web development.

------
rtpg
I have not really had to use ruby, but are gems really that much of a pain to
use? I mean dependencies exist in other languages too, what makes ruby so
crazy that even I know about the pain everyone seems to experience?

~~~
terenceponce
Not at all. It's similar to Maven in Java. The only difference is that that
Maven uses XML to define a project's dependencies, while RubyGems uses Ruby.

~~~
rtpg
That in itself sounds kinda dangerous. Not using some sort of "static"
structure to define dependencies, I mean.

~~~
anko
what like an interface? An API? That's what it is.

~~~
rtpg
I more meant that a ruby program will be less predictable than a static XML
file. Easier to reason about, mainly due to one being a list of dependencies,
whereas the other is a turing machine.

~~~
anko
Maybe. I think it's a difficult point to argue either way. It's a power vs
discipline thing; with great power comes great responsibility. Some people
prefer to be prevented from doing stupid things, and some people prefer the
power.

I normally find that whenever you are limited to a certain config format etc,
you find a use case that makes you wish the limitation wasn't there, so you
jump through stupid hoops to get the same functionality.

Rails has a thing called fixtures, which is basically some static yaml files
for loading test data into your database. It didn't take long at all for tools
like factory girl to come out, which replace the yaml for ruby.

Maybe that's why a lot of people who are drawn to ruby are also drawn to lisp.

