Live data from Hacker News

What’s Up With All These Changes in Rails?

yehudakatz.com

41–50 of 115 posts

Re: What’s Up With All These Changes in Rails?

#41
post #16
post #12

I'm so impressed with Yehuda's ability to be both persuasive and calm while completely destroying every aspect of the argument he is refuting.

Agree that Yehuda is calm and makes good points - However the main point of the original article still remains intact - Rails is very hard for the beginner to learn, much harder than before.

Rails has always had a severe learning curve. I don't think it's gotten harder, it's just shifted in what you have to learn. I think that if anything, the inclusion of things like Bundler has made it easier (seriously, conflict resolution in Rails 1.x apps? Ew.)

Re: What’s Up With All These Changes in Rails?

#42
post #22

There's a deeper problem that Yehuda isn't hitting and that is that there is an inverse correlation between being cool and cutting edge and being consumer friendly. Rails is, and really has always been, a framework which changes very quickly. Although virtually all of these changes are for the better either in some abstract feels-better sense or in a tangible practical sense, each of these changes imposes a cost on o…

Glad to hear your opinion on this. What frameworks, in your opinion, are stable, relevant today, easy to use, and has a good community? I've been doing some client-side scripting with Ruby lately just for fun and I've also played with Python in the past. I haven't used Rails or Django. After reading all of this, I'm leaning towards Python/Django but haven't used neither web framework I'm curious as to people's opinio…

I have a whole pile of ASP.NET sites that went into production between 2004 and 2010 and get roughly zero hours per month of development attention. Once every few years I spend a few minutes on each one migrating to the latest version of the CLR.

I can pull any one of those sites up today and make changes using the latest and greatest features of C#, and they won't complain. Or I can pull out the cruftiest bad practice from .NET 1.1 and have that work too.

Re: What’s Up With All These Changes in Rails?

#44

I appreciate the post and am a huge fan of Yehuda, he used my comments as teeing off points for your remarks but I feel that what I was trying to say has been lost in his response, probably because I was unclear. Lets start with this ... "The Rails core team does seem to treat the project as if it’s a personal playground" This was said more in frustration with the coffeescript/sass decision than any real belief that…

>> Something as major as the asset pipelining feature (where you move assets out of the public folder and into the app folder), for example, seems big enough that it should be a 3.2 release not the next release after an already major change in 3.0.

What's the difference between putting it in 3.1 vs. 3.2? Is the 3.2 version number somehow more substantial than 3.1?

Also there have been quite a few releases after 3.0 - I believe the 3.0 branch is up to 3.0.8 now.

Re: What’s Up With All These Changes in Rails?

#45
post #28

Earlier quoted context omitted.

[deleted]

DHH:Rails::Linus:Linux.

Can Linus single-handedly block changes from getting into Linux? That just seems crazy to me if he can. I get that DHH and Linus have pulpits, but that's all they should have.

It's just extremely disappointing to hear someone say something can't get in, not because of quality, but because there's one person who doesn't like it. With that said, people do fork Linux, see Android. Do people fork RoR and actually produce versions that are used by a non-trivial set of users?

Re: What’s Up With All These Changes in Rails?

#46
post #14

Earlier quoted context omitted.

Haml is great for many cases, but it's terrible when the ratio of text to embedded code gets large. Chris Eppstein, one of the developers of Haml, made a blog post to this effect last year: http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-f... As a result, though I love Haml, I think ERb is a more sensible default.

I think ERB ends up kind of ugly for prose too; adding rdiscount as a dependency and using the markdown filter in Haml is usually how I do it.

Sounds like a good solution. I'll have to try that out.

Re: What’s Up With All These Changes in Rails?

#47
post #16
post #12

I'm so impressed with Yehuda's ability to be both persuasive and calm while completely destroying every aspect of the argument he is refuting.

Agree that Yehuda is calm and makes good points - However the main point of the original article still remains intact - Rails is very hard for the beginner to learn, much harder than before.

>> Rails is very hard for the beginner to learn, much harder than before.

I think that Rails is hard to learn for several reasons:

* unless you've used it before, you have to learn Ruby too

* Rails is fast moving and has a lot of pieces

* the error messages can be cryptic and hard to decipher

I've been developing with Ruby and Rails for several years now and I still encounter cryptic error messages.

As a newbie I found it incredibly frustrating when Google did not bring up an immediate answer, it basically built a brick wall around me. I don't think this is Rails' fault per se, it's just the nature of the beast.

Re: What’s Up With All These Changes in Rails?

#48
post #16
post #12

I'm so impressed with Yehuda's ability to be both persuasive and calm while completely destroying every aspect of the argument he is refuting.

Agree that Yehuda is calm and makes good points - However the main point of the original article still remains intact - Rails is very hard for the beginner to learn, much harder than before.

Having started with Rails 3, I'd have to say that's not really true.

Re: What’s Up With All These Changes in Rails?

#49
post #38
post #13

I'm not a fan of Rails myself, but I sympathize with Yehuda's position. The helpers are my #1 gripe with Rails. It really kills productivity to have to dig through all your views for what feels like pet changes. The one point Yehuda's making I'd dispute is the impact of Arel. I saw a very early version of Arel back when I was maintaining DataMapper. To be clear, Arel is beautiful code. It's ridiculously well done IMO…

Of course the ORM is slow! Is there anyone in 2011 who doesn't know this? Why not bite the bullet and learn SQL? Your DBA will thank you.

A 10% performance penalty to get down and dirty with your Domain Model and go all HSQL isn't exactly a big price to pay.

Take a peek at Paul's benchmark. Iterate and instantiated 100K empty objects in 10s. That's crazy. You're talking about something that would probably take 1ms in c#. You're talking about a performance deficit four orders of magnitude large.

Regardless, I think you've entirely missed the point. The point is not that the O/RMs generate inefficient queries. They may not be perfection, but for what you're asking of it, by and large the queries are not the issue. We're talking about raw method-dispatch.

This simple benchmark takes about 600ms on my MacBook Air:

  require 'benchmark'
  puts Benchmark::measure {
    i = 0
    1_000_000.times { |x| i += x }
  }
The same thing takes 1ms in Mono:

  using System;
  using System.Diagnostics;

  namespace dispatch {
    class MainClass	{
      public static void Main (string[] args)	{
        var s = new Stopwatch();
        s.Start();

        var x = 0;
			
        for (int i = 0; i 
(Forgive me, it's been a very long time since I wrote any c#, but this gave me an excuse to try out Mono. :-) )

You could argue that it's not exactly identical code, but it's fairly idiomatic I'd think for each language.

The point is, the sort of performance deficit you carry with Ruby has real consequences. You don't have to dig very deep at all until such concerns are no longer academic. There's financial applications I've worked on in c# doing transaction reporting with 1,000 rows or so per page that would simply put be at a severe handicap under Ruby and it has nothing to do with the RDBMS.

I'm certainly not gonna give Ruby up any time soon. But it's important as a developer to at least be aware of the shape of the box you live in I think.

Re: What’s Up With All These Changes in Rails?

#50
> Ruby core (“MRI”) itself has sunk an enormous amount of time into performance improvements in Ruby 1.9, going so far as to completely rewrite the core VM from scratch.

This isn't particularly accurate, my understanding is that what became the 1.9 VM was originally an external fork (or rewrite, I'm not clear on which) known as YARV, which was later integrated, but was not originally developed by the MRI team. As always feel free to tell me I'm a moron who has no idea what he's talking about.

Post reply on HN