5 ms·
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/ htt
by lkrubner 14y ago
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/ 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 known in Java or PHP.
I do not know a way to say when some of the criticism began to stick, but clearly things have changed. I have my own personal experience: once a fan of Ruby and now a fan of Clojure. And others have moved on -- there was recently the conversation about multi-threaded Ruby apps, and it seemed to me all the smart people agreed that jRuby is the future of Ruby: http://tonyarcieri.com/2012-the-year-rubyists-learned-to-stop-worrying-and-love-the-threads http://tonyarcieri.com/2012-the-year-rubyists-learned-to-sto...
If I had to pick one moment when some of the criticism against Rails began to take hold, even among those who had once favored Rails, it was Zed Shaw's insane rant:
http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto
Even though the tone is insane, he made some points that stuck in people's heads, including mine. This was important to note:
"I believe, if I could point at one thing it’s the following statement on 2007-01-20 to me by David H. creator of Rails:
(15:11:12) DHH: before fastthread we had ~400 restarts/day
(15:11:22) DHH: now we have perhaps 10
(15:11:29) Zed S.: oh nice
(15:11:33) Zed S.: and that's still fastcgi right?
Notice how it took me a few seconds to reply. This one single statement basically means that we all got duped. The main Rails application that DHH created required restarting ~400 times/day. That’s a production application that can’t stay up for more than 4 minutes on average."
And even now, in 2013, when I have to set up a new server with Rails, even with Nginx and Unicorn and all the other systems to help me, I find Rails annoying to set up, especially compared to the simplicity of PHP running on Apache or a Clojure app bundled up with something like "lein uberjar".
- BonoboBoner 14y agoThanks for posting the link to the rant. My plans to go to bed early have been shattered.
- phillmv 14y agoUhm. We deployed a new server last night. `cap staging deploy:setup` `cap staging deploy` `cap staging deploy:migrate` You do have to know how to setup Unicorn but…
- throwawayG9 14y agoHe's talking about installing the web server, not deploying the application. Deploying an application can be done with 1-3 commands in any language, since it has little to do with the language itself. All you need is a build or deployment script, which can be written in Bash or whatever.
- phillmv 14y agoI realize, but that too is a constant per platform. It's about the same amount of effort per web server per ecosystem, since in our we case we reverse proxy to the application server. If we're talking about shared hosting, that's a whole different ball game.
- xentronium 14y ago> If I had to pick one moment when some of the criticism against Rails began to take hold, even among those who had once favored Rails, it was Zed Shaw's insane rant: That's simply not true and not fair. Rails of v1-v2 era were much worse than what we have now. Tooling improved immensely since the rant (bundler, rvm) and the most popular ruby implementation itself improved. Granted, it's somewhat harder to start rails today than it was four years before, still we are much better off.
- chc 14y agoI don't think that's really an accurate picture. That rant is old as hell. IIRC it's about Ruby on Rails 1 — not even the now-venerable Rails 2, but the first version that nobody on earth uses anymore. It predates Rack and Passenger and all the stuff that Rails developers have taken for granted for years now. Surely you'll agree that Rails 2 and Passenger were not late to the party. I think the biggest thing that made Rails fall from grace (to whatever degree it has) was the way it ground to a halt for what seemed like ages while they worked on Rails 3, and then when 3.0 came out, a lot of people found it unimpressive on its own merits, and even more so when viewed in light of how long it took. (This is largely because a big part of the Rails 3 work was refactoring and trying to make it less monolithic, which are good things, but the kind of good things that get you yelled at by people who don't care about them.)
- znowi 14y agoWhat saddens me in this comment is a very common overtone that Ruby is a synonym to Rails. Admittedly, Rails had a major role in Ruby's ascension into the programming glory; however, in the course of this, it overshadowed the language itself. It created a bubble within the community. But the real tragedy is that by virtue of Rails being most visible and vocal, the whole Ruby community is appraised and influenced by their actions and rhetoric.
- slyv 14y agoI'm looking to get started with playing around with Clojure web apps. Could you link me to any opening tutorials or explanations?
- davidrupp 14y agohttps://github.com/ring-clojure/ring https://github.com/ring-clojure/ring and http://clojurescriptone.com/ http://clojurescriptone.com/ should get you going.
- bradleyland 14y agoI'm kind of in a state of disbelief that I'm even reading this. The "Rails is a Ghetto" rant? Everything you cite is from 2007. > And even now, in 2013, when I have to set up a new server with Rails, even with Nginx and Unicorn and all the other systems to help me, I find Rails annoying to set up, especially compared to the simplicity of PHP running on Apache or a Clojure app bundled up with something like "lein uberjar". Then don't pick Unicorn. Yes, Unicorn is a fantastic app server, but it requires that you know the app server very well, and as with all stand-alone app servers, the configuration is more complex. Instead, pick something like Passenger. Passenger runs as an Apache module and is just as easy to get running as PHP.
- Shorel 14y agoI still think Ruby was made by someone who learned Perl and Lisp, but never managed to really grok Lisp macros. That's not bad, as Ruby is a very powerful language.