Live data from Hacker News

What’s Up With All These Changes in Rails?

yehudakatz.com

51–60 of 115 posts

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

#51
post #16

Earlier quoted context omitted.

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.

If you recall back in the Rails 1.x days, it wasn't exactly pleasant to learn -- if only because of the awful documentation. Point being, Rails' first priority is to improve developers' productivity, sanity and happiness - all developers using it, not just new ones.

Even before 1.x, Rails has been pretty easy to figure out, and looking at the old documentation, apparently well-documented. There were countless tutorial-style blog posts if the API docs weren't enough. The Ruby mailing list was inundated for a long time with talk about Rails, to the point that I had to make a filter.

I'm not by any means a Rails fan, and think that even now, it feels like a PHP framework. (I have a "competing" web framework that I wrote and use whenever I have the flexibility, if you can call it a competitor; it's not actively promoted and the users number in the low single digits). But they do deserve credit for making sure that it's easy to figure out how to get things done.

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

#52
Coming from PHP Rails was a great way for me to learn best practices and get disciplined. Now that I have a good foundation I find myself using Sinatra plus whatever gems fit my small to medium projects. So it might not be that Rails is too heavy, it could be that some of these projects don't require the learning curve of Rails to be successful.

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

#53

I kind of wish they would go further. While I prefer Rspec, I understand and sympathize with those who feel Test::Unit is a better default. But HAML feels like such a vast, unambiguous, never-going-back improvement over ERB that I am honestly baffled Rails hasn't adopted it. It's at least as big a win as Sass and CoffeeScript, if not bigger. I agree with Katz here. If anything, Rails has shown remarkable restraint in…

HAML has not been adopted because DHH does not like it.

It wouldn't ever replace ERB anyway. HAML makes most things easier and terser at the cost of making a few things difficult or impossible. You still need to fall back to ERB occasionally, and it's also used outside of the views. All this makes for a bad default, especially for new users.

(I say this as someone who loves HAML and uses it almost exclusively).

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

#54
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…

I often wish that DM would have replaced AR in Rails 3. Why Sequel?

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

#55
post #14

I kind of wish they would go further. While I prefer Rspec, I understand and sympathize with those who feel Test::Unit is a better default. But HAML feels like such a vast, unambiguous, never-going-back improvement over ERB that I am honestly baffled Rails hasn't adopted it. It's at least as big a win as Sass and CoffeeScript, if not bigger. I agree with Katz here. If anything, Rails has shown remarkable restraint in…

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.

Full Disclosure: I am not a haml developer. I'm a haml user -- I only develop on sass.

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

#56

I kind of wish they would go further. While I prefer Rspec, I understand and sympathize with those who feel Test::Unit is a better default. But HAML feels like such a vast, unambiguous, never-going-back improvement over ERB that I am honestly baffled Rails hasn't adopted it. It's at least as big a win as Sass and CoffeeScript, if not bigger. I agree with Katz here. If anything, Rails has shown remarkable restraint in…

To me, the pain-point with HAML has always been that it's much harder to teach our front end designers to use it instead of HTML, whereas Sass presented much less of a barrier for them vs Javascript. HAML feels great for me as a dev vs the verbosity of hand-hacking HTML, but for the guys who spend 90% of their time in photoshop and 10% chopping their PSDs into static HTML to hand to me, I'm not convinced it's worth t…

I'd really have to question the skills of any person who can't adapt from HTML to HAML. If you can do erb, you ought to be able to do HAML within, at most, an hour of pushing stuff through HTML2HAML.

Speaking of which, HTML2HAML works nearly every time.

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

#57
post #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 -…

What's the difference between putting it in 3.1 vs. 3.2?

---------------------

The time between releases.

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

#58
Rails seems to be focused on it's own navel. It's written by developers to solve problems developers perceive they have. The platform rewards new layers of abstraction within the community - and those layers really exist to enforce a discipline which may not be needed and becomes restrictive if you don't want to do things the Rails way.

From my perspective as a serial startup founder, I won't touch the platform because startups must innovate or die and to enforce too much discipline on the way things are done within a platform is to risk killing innovation.

The best startups not only use platforms in unexpected ways, but are platform agnostic and use multiple platforms that probably didn't expect to have to talk to each other.

Startups choosing Rails need to remember that 37Signals have a group of mature apps that are maintaining and incrementally improving with (I'm guessing) growing team of devs. Their apps are also B2B and have relatively low traffic compared to many consumer focused startups. Their focus is code and team scaleability. They aren't rapidly prototyping or rapidly innovating. Also as the center of the Rails community, they don't need to care that Ruby devs are harder to come by than PHP or more mainstream languages.

Rails also strikes me as a rockstar dev culture that puts marketing, innovation and being perceived as a thought leader ahead of everything else, including the boring crap like productivity, simplicity and performance:

http://www.flickr.com/photos/46457493@N00/4441909186/in/set-...

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

#59
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…

Best of all worlds would have been to drop AR altogether and promote a migration to Sequel for the official Rails O/RM. ;-)

Indeed. Or decouple the ORM entirely, though that likely removes a key aspect of what Rails is about.

It is, however, what makes Ramaze so appealing. No coupling to any ORM, but there is a community inclination to use Sequel (so you can learn from example and there are people to answer questions).

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

#60
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…

I often wish that DM would have replaced AR in Rails 3. Why Sequel?

Because it's simple, it gives you the flexibility of going lower-level easily, supports CPK+FK and I haven't run into any bugs.

It's been very exciting for me. I picked it up in about a day, asked some questions, and am now easily doing things I couldn't before, and it just works.

Did you know Sequel's open bug-list is often at zero open issues?

Tried AR but it blew my mind that after all this time the support for CPK is still MIA? It's not about Opinionation IMO. Sequel has opinions. It also has features though.

DM had a few bugs. I asked about the particular relation I was trying to get working in #datamapper and Jeremy suggested Sequel would do it easily, pointing me to the test for it on github. So I tried it on a whim. And he was right, it worked.

Then I saw the documentation. It's beautiful. Seriously. Makes my eyes water just thinking about it.

That Sequel isn't the default O/RM for everything-Ruby just goes to prove there is no justice, and no Santa Claus. I'm not always 100% in love with the syntax, but the documentation, the support, the features, all that means so much more than wether I get to define properties for my models or not, and it's not obtrusive.

Oh, and disk-space is cheap. I appreciate that Sequel doesn't break itself up into 500 gems. That really annoys me about DM. There's no excuse for that outside of database drivers (and yes, that is absolutely my own fault; but it should get fixed...).

Post reply on HN