Live data from Hacker News

Rails Has Turned into Java

discursive.com

61–70 of 160 posts

Re: Rails Has Turned into Java

#61

The pushback against Ruby/Rails has been building for a long time. There's always been jokes about Ruby being slow: http://harmful.cat-v.org/software/ruby/ But there was a stretch from around 2005 to maybe 2008 where Rails seemed to defy criticism. It grew and grew, despite the criticism. I tried it for a project in 2006 and I became a fan. The easy use of 3rd party code, via gems, was much easier than anything I had…

Thanks for posting the link to the rant. My plans to go to bed early have been shattered.

Re: Rails Has Turned into Java

#62

Particularly for small startups and self-funded projects, the most important factor in technology choice is almost always "How long does it take me to translate my idea into a working product?". For me, I haven't yet found anything that matches the ability of Rails to quickly go from just an idea into something that you can start pitching to customers. While Rails and the entire community is dizzyingly large, with ra…

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 cleanly assembled, easy to understand, and lacked all the enterprisey stuff that scared me away from Java years ago. That's why I wrote the article.

I'm not burning the chapel to build a new one. I'm setting sail for the fatherland in search of Silk and Spices. (I didn't mean to make sense with that ending, but you read it, didn't you?)

Re: Rails Has Turned into Java

#63

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…

Kindly refrain from swearing, all caps, and 4chan-isms. I prefer to not read that kind of noise, and no doubt others here feel the same.

Re: Rails Has Turned into Java

#64

As someone who is just now learning Rails, I'm loving it. Is this an actual issue that should push me away from the technology? What other technologies are there that streamline the development process as much as rails?

No, please don't let this article affect your experience with Rails. Rails is awesome. It is. It's a great framework to learn and the problems that the author of this piece was discussing are really just a critique of his own faults. He made some awful decisions about architecture and framework and now he's paying the price.

Ignore this idiot and continue on.

Also, I wrote the original piece.

Re: Rails Has Turned into Java

#65
post #42

Earlier quoted context omitted.

I think the point is, other systems have now emerged that can reasonably claim to represent the cutting edge of simplicity and ease. Rails held that distinction for several years, it was the reference point people used to criticize or praise other systems. But Rails is no longer the clear leader in ease of use or sophistication of 3rd party libraries. In response to Rails, lots of new languages and frameworks emerged…

Curious, what other web dev frameworks offer a unified stack (ORM, deployment, dependency management, testing, project structuring)?

Play and Grails are two on the Java side.

Re: Rails Has Turned into Java

#66
post #58
post #39

Earlier quoted context omitted.

Oh I disagree entirely. After having spend two days debugging someone's versionless Gemfile / bundler problem on my CI server, I want someone to pay for my pain.

That's not Bundler's fault. It's the fault of the person who made the versionless Gemfile. There's really no comparison between using Bundler and mucking around with JAR files or Ant scripts in Java. I've even seen Python codebases with a Java-esque rats nest of dependencies that are just as painful to get setup correctly. Bundler is way easier. I've never been on a Rails project where it took more than 30 minutes to…

Maven and POM files are the standard way of managing dependencies in Java projects. Maven's more complex than bundler, but reasonably easy to use as it is very convention oriented.

Re: Rails Has Turned into Java

#68
Sorry, but this article is bullshit.

First of all, it's a classic appeal to emotion; it uses hyperbole that is propped up with emotions ("You’ll find yourself staring at incomprehensible mega-frameworks maintained by developers who are unapologetic about how little they care for writing documentation", etc) and not by concrete facts. It cleverly it uses two fictitious quotes to imply it represents real people's complaints, when it's in fact the author himself making up the supposed complaints.

It also works up a strawman argument: That you can criticize Rails on the basis of a collection of frameworks that the OP apparently thinks are required to good apps. The fallacy here is that those frameworks are not needed, and their problems are not Rails' fault. Perhaps there is subculture of engine-loving Rails people out there that promote such frameworks, but I would not listen to them any more than I would listen to PHP devs.

Rails is like any other tool: What you get out of it depends on how you use it. Judicious use of gems, libs, frameworks, databases etc. is just as important as managing your own application complexity. Sorry, but complexity is bad whatever language or framework or whatever you use. If Rails is an easy target it's probably because the apparent ease of implementation makes it tempting to grow your app.

Here's a suggestion, a constructive suggestion: Try not to stuff you app with everything you can possibly think of. Login and user accounts? Belongs in a separate app. Document storage? Separate app. Image upload and scaling? Separate app. Email and SMS notifications? Separate app. Integration with external systems such that you feed data to, or from? Separate app. Computing scores or ranks or other statistics based on data? Separate app. And so on.

Use a service-oriented architecture for everything, and you will reduce the complexity of each component to a bare mimimum. For example, we use Checkpoint [1] to integrate logins (FB, Twitter, Google) through a single system, so that our apps don't need to deal with API keys or OAuth or anything; performing login in an app using Checkpoint is literally a single line of code (a redirect). Instead of using a database, most data fits into Grove [2], a structured, hierarchical, indexed data store on top of a relational database. Instead of reinventing rating and voting systems for every app, we use Kudu [3], and instead of reinventing flagging of spam or illegal content for every app, we use Snitch [4] -- just to mention a few trivial examples. Our stable of mini-apps has much more, a small ecosystem of reusable, composable tools.

By using HTTP as interface glue, we put an artificial limit on the ways that components can entangle themselves; for example, since the API deals entirely with basic JSON objects like arrays, strings and hashes, there are no surprises when you try to access the result of a call, since it will never re-enter its source (unlike, say, ActiveRecord associatons).

[1] https://github.com/bengler/checkpoint

[2] https://github.com/bengler/grove

[3] https://github.com/bengler/kudu

[4] https://github.com/bengler/snitch

Re: Rails Has Turned into Java

#69

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?

Re: Rails Has Turned into Java

#70
post #58
post #39

Earlier quoted context omitted.

Oh I disagree entirely. After having spend two days debugging someone's versionless Gemfile / bundler problem on my CI server, I want someone to pay for my pain.

That's not Bundler's fault. It's the fault of the person who made the versionless Gemfile. There's really no comparison between using Bundler and mucking around with JAR files or Ant scripts in Java. I've even seen Python codebases with a Java-esque rats nest of dependencies that are just as painful to get setup correctly. Bundler is way easier. I've never been on a Rails project where it took more than 30 minutes to…

Hey, don't forget Gradle - http://www.gradle.org - Gradle syntax for declaring dependencies is similar to Maven.

But there's a very close comparison between Bundler and managing dependencies with Maven or Gradle. And there's a huge difference. Maven Central has never been compromised because they have a secure method for deploying artifacts, RubyGems? You've had a fun month with RubyGems, right?

Post reply on HN