Live data from Hacker News

Rails Has Turned into Java

discursive.com

121–130 of 160 posts

Re: Rails Has Turned into Java

#121
"Rails isn't the easy framework it once was..."

I disagree. It's just as easy to set up a simple web app in Rails now as it was then. Rails may have grown in complexity, but it didn't add complexity to the easy thing.

"Sure, Rails itself is straightforward, but the frameworks you slap on top of it can quickly become burdensome abstractions"

I agree. However, I think it's so much easier to avoid these burdensome abstractions if you choose than it was in Spring when it first hit the scene. If you wanted to do something simple, I think it was far easier to write lower level servlet and jdbc code than to get spring mvc, hibernate, and some sort of build too (probably maven) all working together properly.

There were some good efforts. There seemed to be some enthusiasm about Roo, though I didn't find the code generated by Roo anywhere near as easy to work with as Rails code. I thought Play looked promising, though it wasn't enough to get me back to Java once I'd built some momentum with Rails.

A few people have commented that Spring 3 is excellent. It may very well be, and maybe I'll take a look some time, but to say I'm once bitten twice shy is to greatly undercount the number of times I was bitten.

Re: Rails Has Turned into Java

#122
post #98

Earlier quoted context omitted.

You are joking right, "Try not to stuff your app with everything you can possibly think of." Like providing a admin interface on Refinery as well as authentication with Devise is "everything and the kitchen sink". I think you may be trying to defend something.

Have you used Refinery? I have and wouldn't base an app on it, or even use it again for a CMS - frankly you could build the same admin features better in Rails in a couple of days, and tailor them properly to your application. Refinery is not a good model of a rails app and is probably the main reason for his problems or perception that Rails is heavy - it was a mistake to try to base an app on it and most of his gri…

"An admirable direction and quite the opposite of Java." What are you talking, specifics please? Is Java a framework with features comparable to Rails?

Why is the laundry list of technologies absurd, these are the technologies that I run a business on. I think what's absurd is the level of reaction in your comment. Rails people now have this defensive reaction, and I've noticed it in person as well.

It reminds me of the reaction of Java zealots in 2007. It really does. "Oh, really, you couldn't be serious, I mean it's absurd to think that Ruby...." It wasn't absurd to challenge, and neither is this challenge.

Re: Rails Has Turned into Java

#123

Earlier quoted context omitted.

For small, single apps sure. But if you have large apps with multiple Ruby versions then dealing with rvmrc, bundler and gem incompatibilities is a nightmare. Java's forward compatibility is a lot more robust.

You have an app with multiple Ruby versions?

Yes. I take it you've never worked at an enterprise company before ?

Every time a new developer comes on board they just love to add new technology X and then in the years to come other developers add Y and so on. Of course there are developers who have to manage this.

Re: Rails Has Turned into Java

#124
post #121

"Rails isn't the easy framework it once was..." I disagree. It's just as easy to set up a simple web app in Rails now as it was then. Rails may have grown in complexity, but it didn't add complexity to the easy thing. "Sure, Rails itself is straightforward, but the frameworks you slap on top of it can quickly become burdensome abstractions" I agree. However, I think it's so much easier to avoid these burdensome abstr…

Spring 3 is excellent BTW. I originally started to blog about a Spring 3 application I wrote, but then it turned into this Rails rants.

And, I don't hate Rails at all. Really. I don't.

Re: Rails Has Turned into Java

#125
post #101

Earlier quoted context omitted.

Have you tried Java EE 6 ? JAX-RS in particular is a splendidly designed api for RESTful services. And then you can make single page apps instead of JSF. This method is even going have ide support in Netbeans 7.3 with wizard-driven Backbone/Angular app generation.

JAX-RS is really nice for building APIs and I actually prefer the way it works to Sinatra, especially if using it with Groovy. But, this isn't Sinatra vs EE6, its Rails vs EE6, so its not a proper comparison. To compare with Rails you've got to look at other parts of EE6: JSF + CDI + JPA, which is an awful mess. JSF by itself is enough to kill its usability for many modern applications, the amount of state JSF carrie…

Ah, watch out for JSF, it's a dangerous place. JPA on the other hand is surprisingly good these days try Spring 3 Oliver Gierke has done good things.

Re: Rails Has Turned into Java

#126

Actually what's happening is that Rails is turning into MS Access. Access is a product that famously makes 80% of what you want to do incredibly easy, and the last 20% impossible. The Rails ecosystem is growing so that you can, essentially, deploy your own MS Access, with exactly the same trade-offs.

This has got to be one of the worst analogies I've ever seen. One of Rails' core strengths is that it is written in Ruby which makes anything , even batshit-insane dynamic runtime monkeypatching possible. Not that anyone would advocate doing that as a matter of course, but the point is nothing is out of reach in a Ruby app.

Rails has monkeypatching. Access has COM.

Inbound developers will not be able to use either of these things because their skills and expectations have been set by that easy 80%.

Re: Rails Has Turned into Java

#127
post #62

Earlier quoted context omitted.

Rails is just the sweet spot for low enough bar of entry, power and expressiveness. It also offers you a proven way to get up on your feet easily. But well, it's a fashion thing. People need new things, people need to kill the father, people need new chapels. Nevermind that what we have right now does the job perfectly and is lots of fun, we need something NEW.

I don't know. I'm running a business on a Rails site and it's sort of sucking right now in terms of what I can get done and how fast I can get it done. Why? Because learning rails isn't the easiest thing in the world any more especially when half of the application is custom work around to jury-rig different frameworks together. One of the developers came to me just last week and showed me a POC in Java that was clea…

I, for one, would love to see a follow up post which discusses specific things Java allowed you to do faster/clearer/better in that context. ... if you're so inclined. It might also be neat to hear about which Java libraries were in play and how they compare to Ruby equivalents.

Re: Rails Has Turned into Java

#128
post #122

Earlier quoted context omitted.

Have you used Refinery? I have and wouldn't base an app on it, or even use it again for a CMS - frankly you could build the same admin features better in Rails in a couple of days, and tailor them properly to your application. Refinery is not a good model of a rails app and is probably the main reason for his problems or perception that Rails is heavy - it was a mistake to try to base an app on it and most of his gri…

"An admirable direction and quite the opposite of Java." What are you talking, specifics please? Is Java a framework with features comparable to Rails? Why is the laundry list of technologies absurd, these are the technologies that I run a business on. I think what's absurd is the level of reaction in your comment. Rails people now have this defensive reaction, and I've noticed it in person as well. It reminds me of…

Firstly, apologies for the harsh tone and references in the 3rd person as I see from your other comments that you are the author of the article.

"An admirable direction and quite the opposite of Java." What are you talking, specifics please? Is Java a framework with features comparable to Rails?

I admit this was sloppy wording, however your article is called 'Rails, You Have Turned into Java.' :) I was comparing Rails 4 (removes lots of features/bloat), with Java Frameworks which do not have a reputation for slimming down... Of course I'm sure there are some minimal Java web frameworks out there too (sorry not familiar with many). Your article is somewhat provocative and not representative of the experience of many with Rails so I wouldn't be surprised if you encounter a defensive reaction to this sort of sentiment. That's to be expected, as was the reaction of those using Java frameworks to DHH's blowhard rhetoric when he started out with Rails.

Why is the laundry list of technologies absurd, these are the technologies that I run a business on.

They're absurd as a criticism of Rails because many of them are completely external to Rails, not required to run a website/app, and some of them are not the right choices IMHO. Rails does not require any of these components to run websites even at scale. Sure some of them might be useful, but none are essential or intrinsic to Rails.

Forgive me but I think the choice of RefineryCMS was a mistake, and if you back out of that mistake, you'd find Rails a lot more forgiving, a lot lighter, and a lot more suited to what you want to do if you're writing a large webapp with lots of components (or several interacting webapps). Problems with engines, subapps, conflicting routes etc are all based on this, and simply don't occur in most Rails apps. I've used it as a CMS for some clients and regret having done so in retrospect - it's not terrible standalone (also not great) but I can see how integrating it with an app would be a nightmare. You don't need to use meta-frameworks built on Rails to build an app, in fact I'd say it's a mistake, use a few discrete gems like devise, and just build what you want.

Re: Rails Has Turned into Java

#129
post #125
post #101

Earlier quoted context omitted.

JAX-RS is really nice for building APIs and I actually prefer the way it works to Sinatra, especially if using it with Groovy. But, this isn't Sinatra vs EE6, its Rails vs EE6, so its not a proper comparison. To compare with Rails you've got to look at other parts of EE6: JSF + CDI + JPA, which is an awful mess. JSF by itself is enough to kill its usability for many modern applications, the amount of state JSF carrie…

Ah, watch out for JSF, it's a dangerous place. JPA on the other hand is surprisingly good these days try Spring 3 Oliver Gierke has done good things.

JPA is fine, if and only if you've got a framework managing the entity manager lifecycle for you in a reasonable way.

In my opinion if I need an entire separate framework (or container) to manage it, I think its broken. I've switched to Ebean for Java ORM and am vastly happier now.

JPA also gets the award for the worst programmatic query building API I've ever seen. As a result it seems like the majority of people just use JPQL strings which is really annoying as its also SQL but not quite SQL.

Re: Rails Has Turned into Java

#130
post #124
post #121

"Rails isn't the easy framework it once was..." I disagree. It's just as easy to set up a simple web app in Rails now as it was then. Rails may have grown in complexity, but it didn't add complexity to the easy thing. "Sure, Rails itself is straightforward, but the frameworks you slap on top of it can quickly become burdensome abstractions" I agree. However, I think it's so much easier to avoid these burdensome abstr…

Spring 3 is excellent BTW. I originally started to blog about a Spring 3 application I wrote, but then it turned into this Rails rants. And, I don't hate Rails at all. Really. I don't.

Definitely write the Spring 3 blog post! I can't get deep into it right now, but I'd be interested in an overview, especially from someone who uses Rails as well.
Post reply on HN