Live data from Hacker News

Rails Has Turned into Java

discursive.com

131–140 of 160 posts

Re: Rails Has Turned into Java

#131
post #36

Flame-bait title if I've ever seen one. Let's see an actual comparison with some numbers: * Lines of code, and number of tasks necessary to get a development environment set up. * Memory used with one client accessing the system, and with, say, 10 clients accessing it. * Some performance benchmarks. I keep my ear to the ground, and have used enough languages in my time that jumping to a new one isn't that big a deal,…

This. If there is anything that has ever appealed about Rails is the ease to get started. And I think it still rocks in that regard. 90% of all apps fit the rest-style persistence in a relational database. For that, Rails is perfect.

I'm obviously biased, but I don't think any other framework can do this?

Re: Rails Has Turned into Java

#132
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.

I am not joking. There is absolutely no reason to put an admin interface in an app. Here is an example applicaion, let's call it Foo. It's a blogging tool: * FooCore: This is an API exposing the data Foo that works with, and the ways to change that data. It has a Blog model, a Posting model and an Author model. It has endpoints like "GET /api/blogs", "PUT /api/blogs/:id/postings" and "GET /api/authors/:id" to create…

How about:

Every app that I need a user to access requires three requests to IT. Each application must go through a pre-approval process and a separate set of meetings to determine requirements.

That's not to mention that many applications have a view/edit distinction, requiring nearly the same page based on permissions. If you make the choice to split this page into two applications, your UI will have to be written twice rather than an if statement in the view logic. (Oh, and wait until the change request comes in..)

Maybe your system will work in small businesses and direct to customer apps. It's a non-starter in many other places.

Re: Rails Has Turned into Java

#133

Earlier quoted context omitted.

I am not joking. There is absolutely no reason to put an admin interface in an app. Here is an example applicaion, let's call it Foo. It's a blogging tool: * FooCore: This is an API exposing the data Foo that works with, and the ways to change that data. It has a Blog model, a Posting model and an Author model. It has endpoints like "GET /api/blogs", "PUT /api/blogs/:id/postings" and "GET /api/authors/:id" to create…

How about: Every app that I need a user to access requires three requests to IT. Each application must go through a pre-approval process and a separate set of meetings to determine requirements. That's not to mention that many applications have a view/edit distinction, requiring nearly the same page based on permissions. If you make the choice to split this page into two applications, your UI will have to be written…

> Every app that I need a user to access requires three requests to IT.

Then you have (voluntarily or as a result of placing yourself in such an organization) hobbled yourself and your ability to be an efficient developer.

If your escape route through a beaurocracy — in order to accomplishing your goals — is to compromise in your technical design, then you have my sympathy. That is a situation I could never tolerate personally. (Do you really use Ruby? Sounds like Java would be something an organization of this type would use.)

> That's not to mention that many applications have a view/edit distinction

That requirement is certainly not incompatible with the model.

Re: Rails Has Turned into Java

#134

This is bullshit. I'm no fan boy but you can't blame yourself when you've cornered yourself in an complex case of interdependencies. BREAKING NEWS: OVER-ENGINEERED PIECE OF SOFTWARE IS REVEALED TO BE OVER-ENGINEERED. I don't use Refinery, Devise, OmniAuth, Unicorn, Rack Rewrite, Fog, AMQP, or Heroku. I use Passenger with Apache or Nginx, self-host, and write my own core functionality like authentication. Rails is sti…

So what you're saying is you like to re-invent the wheel? Suffer from "not invented here" syndrome much?

Leaning on the code of other people is something you do very deliberately, and it's a mistake to think that it always saves you time.

If you think you're saving yourself from reinventing wheels by adding Yet Another Gem into your gemfile, then you'll quickly find yourself constrained by the code of other people instead of your own code and mental model.

Your app becomes a mat woven of interdependent Things That Almost Do What You Want and you'll spend more time wrestling with other people's code than the time it would've cost you to write and maintain exactly what you needed in the first place and no more.

It's sort of like that time you thought Devise was going to save you all this trouble but soon realized you merely moved the battlefront from (A) a diff'able domain that you control to (B) Google SERPs, Stack Overflow answers, and a Github wiki page of customization boilerplate and copy-and-paste'able incantations that sorta do what you want.

Re: Rails Has Turned into Java

#135
Nobody wins by just using programming language Y or framework X. Product, features, design, execution etc is what make you wins. Facebook won in social-networking using php, some other social networks were build in Java and failed. Amazon won using Perl. Instagram used python/django and got acquired for a billion. Yammer used ruby/ rails and was acquired for 1.2 billion.

In reality most companies are polyglot using different languages, tools and frameworks for different features in their stack.

I am personally tied of unnecessary rants. There is no perfect programming language or framework.

Abandon the notion that there's a "right framework," and just choose one and get hacking.

Re: Rails Has Turned into Java

#136
I have to agree. I used to love rails in the beginning. I kept the source code to both Ruby 1.8.x and Rails (and Merb) easily available for browsing and it was all "understandable" at some level.

Maybe it is just laziness but in the last few years I have used almost exclusively much simpler libraries/frameworks like Compojure/Noir and Sinara - and I have lost interest in seriously reading the source to these libraries.

It seems better to have to write a little more code, but layer on top of much small libraries/frameworks.

Re: Rails Has Turned into Java

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

It's surprising that you talk about "learning" Rails though.

I am not an entrepreneur so take this is a shovelful of salt, but I wouldn't venture into creating a business on a technology that I have to learn along the way.

Also, I am now confused that Rails is turning into Java, yet you recently saw a beautiful piece of Java. Rails is just like Java and its "darker" Enterprise Side ™, you get to pick and choose what you want to use, no one is forcing RefineryCMS and Devise and whatnot down your text editor :D

Re: Rails Has Turned into Java

#138
post #30

I don't get the Java hate. The stuff in Java is not there just to make your life miserable, it's a result of thousands of people spending millions of hours on complex problems finding that certain methods work well when your source code base becomes too large for simplistic methods. The fact is: Java works, and it works well. Ruby/Rails is getting there, as we see from larger and larger code bases being build on Ruby…

I largely agree with you even though I have written a lot on the superiority in my opinion of (J)Ruby, Clojure, and Scala as JVM languages.

The reason I agree with you is that last year while on a vacation without a computer I spent some time thinking about languages and made a guestimate that if I had stuck with Java and never spent any time learning new languages, then my productivity would have been a bit higher.

However, and for me this is a large issue: I really enjoy learning new languages, and twisting around how I think about programming.

I mostly retired in January except for helping some customers in emergencies, and for my own retirement projects I use Clojure exclusively. In retirement, I am damn glad I am not doing my passion projects in Java :-)

Re: Rails Has Turned into Java

#139
post #110
post #102

Earlier quoted context omitted.

I have yet to see any competition that is better. What do you think is better?

Surely you don't think that Rails is better than everything else in every single respect? There are plenty of frameworks that are simpler (Flask/Sinatra), faster (Play, etc.), support lightweight concurrency better (node.js based, Play too, etc.), have much better IDE support (ASP.NET MVC), support client/server partitioning (Meteor/Opa), and so forth.

What you just said is very different from the first sentence of the comment I replied to. Let me repeat it, "Rails ... is no longer better than the competition."

I think rails is better than the competition if my goal is to make fairly standard websites. It would be a rare exception where I think something else is more suitable.

Re: Rails Has Turned into Java

#140
I still remeber reading some blog post comparing the stack trace of a spring/tomcat web app and a rails web app. Blah blah the rails web app stack was much nicer to read. Well, in 2012, the rails stack trace has become the tomcat's stack trace. It seems that if you really need to implement alot of abstractions on a webapp for generic pipe/filter, interception, routing, param parsing, session managemnt and such, you really do need some layers in your app!

And I think it's funny that some of the Java-ey concepts that spring made so popular like IoC are beginning to appear in frameworks such as angular.js - this is not a critique, I think IoC is really clever.

As for JSF, I actually like JSF2. It's really not everyone's cup of tea, but it's quite good for those boring LOB apps. Oh and it's view-first! I don't know why there aren't more view-first frameworks. The other ones I know of are Lift, WPF (kinda, never really used intensively), angular.js (has a view-first feel to it).

Anyway, I still like rails, I just think they were a bit premature in judging the java camp...

Post reply on HN