Hacker News new | ask | show | jobs
Why I hate Rails (kakubei.blogspot.de)
5 points by hausburger 4864 days ago
2 comments

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.

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?
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.
That in itself sounds kinda dangerous. Not using some sort of "static" structure to define dependencies, I mean.
Actually the gemspec is simply a Ruby DSL that is used to generating a YAML-based definition file.
what like an interface? An API? That's what it is.
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.
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.