Live data from Hacker News

Things that Ruby on Rails people tell you

jameschambers.com

51–60 of 73 posts

Re: Things that Ruby on Rails people tell you

#51

Mostly fair points technically and a reasonable conclusion, but.. I want to be fair here – there's more than one camp in the Rails world To be fair, quit with the linkbaity titles that tar everyone with the same brush. I could find some developers to spout off some garbage and write "BS That Dumb .Net Developers Actually Believe In" except I wouldn't, because it's ridiculous, unfair, and antagonistic. It's as simple…

Point taken, well stated. I've updated my post to reflect that. Cheers.

Re: Things that Ruby on Rails people tell you

#52
post #13

> I can use default project templates that are included in Visual Studio, download starter projects from the web, or, if I prefer, start with a completely empty solution and use Nuget to cherry-pick functionality that other developers have made available. It's not about just the templates(I have personally never used one). Rails has useful code generation(scaffold, controller, model, migration). I would rather not ty…

Hey thanks for this. I will indeed take you up on the "10 minutes blog" and put it on YouTube. I do it all the time during presentations.

I agree it's not just about the templates. We have support for scaffolding (controllers, views, migrations and more). Our models are POCOs, so they are trivial to write, and we have great helpers for that.

Agreed fully on #2. About time.

#3 - I haven't had to wait for anything. Most parts that I don't like I can and have just built my own parts for. The MVC Framework (and ASP.NET runtime) are pretty much pluggable up and down the stack.

As for the maturity piece, I think you're taking the VS comments out of context. I'm not saying MVC is an IDE and I'm not saying RoR is or isn't. My comments on this were from the segway from "tools" in the previous paragraph.

> Are you seriously positing all languages have same amount of activity and features?

No, I'm simply saying you can find bad features in any language. :o)

Again, I'm not saying "You have to drop what you're doing and try MS's implementation of MVC", I'm just saying, "Don't knock a horse before you try reading it."

Or however that goes.

Thanks again, great comments.

Re: Things that Ruby on Rails people tell you

#53
post #13

> I can use default project templates that are included in Visual Studio, download starter projects from the web, or, if I prefer, start with a completely empty solution and use Nuget to cherry-pick functionality that other developers have made available. It's not about just the templates(I have personally never used one). Rails has useful code generation(scaffold, controller, model, migration). I would rather not ty…

Hey thanks for this. I will indeed take you up on the "10 minutes blog" and put it on YouTube. I do it all the time during presentations. I agree it's not just about the templates. We have support for scaffolding (controllers, views, migrations and more). Our models are POCOs, so they are trivial to write, and we have great helpers for that. Agreed fully on #2. About time. #3 - I haven't had to wait for anything. Mos…

I wonder why you bother posting things like this here of all places. I agree with you, I'm an MVC3 and a Rails developer - I put food on the table for my family using both (and even sometimes CakePHP).

The amount of sheer idiocy in this thread is really surprising considering the website.

It's like people see "Micro$0ft", foam at the mouth, and start rambling on about FOSS. Without even using MVC3 for anything substantial.

To compare Razor with any other view engine and say it's more or less the same is SO IGNORANT it makes my blood boil; especially since people are upvoting those same stupid remarks.

How can you compare Razor's elegant syntax with Rails really smelly view engine:

    @foreach (var person in Model.Friends)
    {
        

@person.Name

}

Re: Things that Ruby on Rails people tell you

#54
post #34

Earlier quoted context omitted.

> tools (VS, NuGet, MSBuild...). I don't know about NuGet or MSBuild, but back then when I used VS for misc tasks, it used to run circles around Eclipse or Netbeans.

Running circles around Eclipse and Netbeans is not tricky really, they're both horrifying to use on a regular basis.

What else would you compare VS with then?

Re: Things that Ruby on Rails people tell you

#55
post #46

As someone who has developed in Java, .Net, PHP, Python, Node.js, and Ruby on Rails for web projects, I must say what sells me on RoR is the nature of the language and ActiveRecord. My god, ActiveRecord is AMAZING. Sometimes I just don't have the option to build something in Rails(for example building internal API's that have to be written in Java for a number of reasons), but given the choice I will choose a Ruby or…

I find it peculiar that anyone would describe ActiveRecord that way. In my eyes it's a behind-the-curve ORM based on the most basic ORM pattern available from Fowler's "Enterprise Application Architecture", and it seems most of the people _using_ AR never read it and have not thought at all about the tradeoffs vs. other ORM patterns (such as Data Mapper ; before anyone mentions the Ruby DataMapper ORM: That one doesn…

> Fowler's "Enterprise Application Architecture", and it seems most of the people _using_ AR never read it

I wasn't aware Fowler is a required reading for anything(or I would say even beneficial) for _anything_, let alone AR.

> I particularly dislike the way it tends to result in code that is littered with leaky database abstractions where schema details tends to find its way into peoples controllers and views

Your whole rant doesn't have anything concrete I can respond to. How does schema details creep into controllers and views?

> because it encourages people to call AR methods on model objects directly instead of even trying to encapsulate.

Ummm. What? I don't understand. Are you proposing person.save is wrong and save should be abstracted?

> Ruby is my favorite language, but Active Record is one of the things I hold greatly against Rails, not only for AR itself, but for the inspiration it provided to many other Ruby ORM's, that while they may improve on various aspects still to a large extent also end up encouraging leaking implementation details for your models all over the place.

More rant. Still nothing concrete. AR maps the whole table, and if you are using AR, you should know that. If you need to map parts of the table, or compose parts from various tables as one object, use something else. Not every tool has to solve every problem.

Re: Things that Ruby on Rails people tell you

#56

Earlier quoted context omitted.

Hey thanks for this. I will indeed take you up on the "10 minutes blog" and put it on YouTube. I do it all the time during presentations. I agree it's not just about the templates. We have support for scaffolding (controllers, views, migrations and more). Our models are POCOs, so they are trivial to write, and we have great helpers for that. Agreed fully on #2. About time. #3 - I haven't had to wait for anything. Mos…

I wonder why you bother posting things like this here of all places. I agree with you, I'm an MVC3 and a Rails developer - I put food on the table for my family using both (and even sometimes CakePHP). The amount of sheer idiocy in this thread is really surprising considering the website. It's like people see "Micro$0ft", foam at the mouth, and start rambling on about FOSS. Without even using MVC3 for anything substa…

How can you compare Razor's elegant syntax with Rails really smelly view engine: @foreach (var person in Model.Friends) {

@person.Name

}

Wow. That's revolutionary. Iterating over a collection.

/s

Re: Things that Ruby on Rails people tell you

#57
post #55
post #46

Earlier quoted context omitted.

I find it peculiar that anyone would describe ActiveRecord that way. In my eyes it's a behind-the-curve ORM based on the most basic ORM pattern available from Fowler's "Enterprise Application Architecture", and it seems most of the people _using_ AR never read it and have not thought at all about the tradeoffs vs. other ORM patterns (such as Data Mapper ; before anyone mentions the Ruby DataMapper ORM: That one doesn…

> Fowler's "Enterprise Application Architecture", and it seems most of the people _using_ AR never read it I wasn't aware Fowler is a required reading for anything(or I would say even beneficial) for _anything_, let alone AR. > I particularly dislike the way it tends to result in code that is littered with leaky database abstractions where schema details tends to find its way into peoples controllers and views Your w…

> I wasn't aware Fowler is a required reading for anything(or I would say even beneficial) for _anything_, let alone AR.

Then I suggestion you read Enterprise Application Architecture. It's a great book for the way it formalises a number of very common patterns in a very concise way.

It is also directly or indirectly the inspiration for a large number of recent ORM's and worth reading for that reason alone. Active Record the ORM is a direct implementation of Active Record the pattern as described in EAR for example.

Unfortunately most picked off the easiest ORM pattern presented and stopped there, without alerting their users to all the caveats of the pattern.

> Your whole rant doesn't have anything concrete I can respond to. How does schema details creep into controllers and views?

Because the ORM spews methods all over the models that expose schema details whether or not they are relevant to the domain model.

> Ummm. What? I don't understand. Are you proposing person.save is wrong and save should be abstracted?

No, I am suggesting that, e.g. Person.where("some random SQL") is horrible. Yet it is hard enough to work with AR without resorting to crap like this, that you see stuff like that all over most code that uses AR. At least all the code I've looked at.

> More rant. Still nothing concrete. AR maps the whole table, and if you are using AR, you should know that. If you need to map parts of the table, or compose parts from various tables as one object, use something else. Not every tool has to solve every problem.

The problem is not what AR does, it is how it does it, and the way it's been packaged with Rails and given legitimacy that way despite being an exceedingly poor solution for anything but tiny projects because of a) the choice of the Active Record pattern, b) the poor level of abstraction.

A large chunk of developers are terribly excited about AR because it's better than what they're used to, and settle for it because it's part of Rails instead of looking for alternatives.

Re: Things that Ruby on Rails people tell you

#58

Earlier quoted context omitted.

Hey thanks for this. I will indeed take you up on the "10 minutes blog" and put it on YouTube. I do it all the time during presentations. I agree it's not just about the templates. We have support for scaffolding (controllers, views, migrations and more). Our models are POCOs, so they are trivial to write, and we have great helpers for that. Agreed fully on #2. About time. #3 - I haven't had to wait for anything. Mos…

I wonder why you bother posting things like this here of all places. I agree with you, I'm an MVC3 and a Rails developer - I put food on the table for my family using both (and even sometimes CakePHP). The amount of sheer idiocy in this thread is really surprising considering the website. It's like people see "Micro$0ft", foam at the mouth, and start rambling on about FOSS. Without even using MVC3 for anything substa…

ERB (one of a ton of view engines you plug into rails):

    
        

Or:

    
        

I don't even like Rails, but I fail to see how that is "really smelly". Or as I prefer Mustache, I'd probably rather pass Model.friends to the view as a variable and do:

    {{#friends}}
        

{{name}}

{{/friends}}
But regardless what engine you do, you'd be hard pressed to find any big differences in terms of iterating over a collection. I find it very hard to believe that you're a Rails developer yet somehow find the above syntax so much more elegant that you'll use that as an example of how rails has a "really smelly" view engine.

Re: Things that Ruby on Rails people tell you

#59
post #54

Earlier quoted context omitted.

Running circles around Eclipse and Netbeans is not tricky really, they're both horrifying to use on a regular basis.

What else would you compare VS with then?

A solid Unix/Linux command line.

I've yet to see an IDE that can beat the productivity of that, or even get close.

Re: Things that Ruby on Rails people tell you

#60
post #58

Earlier quoted context omitted.

I wonder why you bother posting things like this here of all places. I agree with you, I'm an MVC3 and a Rails developer - I put food on the table for my family using both (and even sometimes CakePHP). The amount of sheer idiocy in this thread is really surprising considering the website. It's like people see "Micro$0ft", foam at the mouth, and start rambling on about FOSS. Without even using MVC3 for anything substa…

ERB ( one of a ton of view engines you plug into rails): Or: I don't even like Rails, but I fail to see how that is "really smelly". Or as I prefer Mustache, I'd probably rather pass Model.friends to the view as a variable and do: {{#friends}} {{name}} {{/friends}} But regardless what engine you do, you'd be hard pressed to find any big differences in terms of iterating over a collection. I find it very hard to belie…

You don't see how uncomfortable for the hands it is to type `` every single time you want to output something using code?

How can you compare that, to a simple `@` symbol? ERB (or even Mustache for that matter, feel like a relic compares to Razor.

Post reply on HN