Advertisement

Why All The Hype About Ruby On Rails ?

Started by May 25, 2013 08:41 PM
11 comments, last by tstrimp 11 years, 7 months ago

In the last couple months I have seen a major surge in "Programmer Boot Camps" that feature nothing but Ruby On Rails. It's fascinating that these "schools" can teach web development in 5 - 9 weeks, but I wonder why they are doing it. In this article I took a closer look at one of the "schools", and pointed out some of the issues of this approach.

I personally have nothing against the Ruby language, but relatively few companies exclusively use it, and as a result there is few Ruby developer jobs available.

What is your opinion on the Ruby On Rails hype ?

Ruby_Hype_No_Jobs.jpg

I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.

~ Ralph Waldo Emerson


I personally have nothing against the Ruby language, but relatively few companies exclusively use it, and as a result there is few Ruby developer jobs available.

What is your opinion on the Ruby On Rails hype ?

RoR is a framework that makes it really easy to have a web page talk to a database.

I don't know what you mean 'exclusively use it', because it is just a piece of middleware.

I don't see it as a specific job, again because it is a piece of middleware. Just like you don't see many jobs looking specifically for FMOD programmers, or WWISE programmers, or SpeedTree developers.

You hire a programmer to build some software. They happen to use a piece of middleware as part of their job.



If RoR helps web developers build their sites faster (and by most accounts it does) then the developers should consider using it for middleware (and Google says they do).

A few seconds on Google shows that pretty much every big company has a few publicly-facing web pages with Ruby. Amazon, BBC, and EA are all on the list.
Advertisement

Actually there is literally thousands of Ruby on Rails jobs around. Most startups in Silicon Valley and London seem to be paying a hefty premium with developers with Rails experience. Simply because startups need things done fast.

The two bigggest requests I get from recruiters everyday is for developers of Objective C and Ruby on Rails.

I actually talked to one recruiter who kept contacting me and asked him why he kept sending me rails jobs and he said that the startups he worked with knew that there weren't very many developers out there who worked exlusively with rails but theyd be interested in talking with anybody who had even played around with it briefly.

Also I don't work on the web team at work but they use anything and everything to get things done. Projects in the past 6 months have used Javascript, PHP, Ruby, Python, R, Go and Dart and Erlang all interoperating with each other.

Rails is a framework for Ruby. If I tell someone that I use "Ruby", and he replied "Oh, Rails??" then I would assume that person doesn't know anything about Ruby.

Ruby on Rails is a convenient framework to build web applications. It has tools for the views of your app, tools for the models and controllers to talk to the database. It even has tools for database migrations. It's an all-in-one solution. It becomes very popular among startups who want to get things quick up and running.

It is, however, a very poor choice for long-term solutions. Ruby is already a slow language (fast enough for web applications). Rails is a very bloated framework sitting on top of a slow language. You can imagine how slow it could be. It's an all-in-one solution. That means if you just want to use it to serve web views, the entire framework has to be loaded up, including the db migrations, the models, the controllers, and everything else -- even though you are not using them. If you are building a large web applications that connect to multiple large databases, then it's most likely somebody else is going to manage your database. If you use Rails, then there's going to be this unused piece in the framework that has to be kept loaded.

Why is it so popular? I think it's just a trend, coupled with demands for jobs, much like how VB was back then. Overtime, unless the framework change dramatically, the bloatness and the all-or-nothing of this framework could diminish its value.

I think the popularity of RoR was heavily based on hype. I also think the "propaganda" viral videos had a lot to do with it.

The technology landscape is so complex that people often make decision based on their guts or their beliefs because they don't have the time to assess and try out every possible technology one by one. Ruby on Rails was sold as the "super easy silver bullet that cool kids use, and the other are idiots", and many people took it as granted and went that route. After some time, it became clear that RoR isn't that fancy after all.

I personally find the google trend about it very interesting:

http://www.google.com/trends/explore?q=ruby+on+rails#q=ruby%20on%20rails&cmpt=q

I personally, have tried it out too and don't like it. I feel less productive with it than with other techs I know.

Ruby On Rails ?

Don't even get me started !

In over quarter of a century, as you can guess, I went through lots of languages, APIs, paradigm shifts (procedural vs OO vs functional) and techniques.

I spent about 3 months with RoR working on few apps and never ever in my life did I feel so powerless as a programmer.

RoR lets you do something in one way and one way only. Period.

As a SW engineer I like my freedom I get from C++ or .NET or Java. Hell, I had more freedom in Assembler. Or Atari Basic in 1984.

I came to conclusion that if you don't know how to program for a living, that RoR must be incredibly easy to learn and be productive in. Certain types of apps can be prototyped incredibly fast - just don't count on any refactoring - with RoR, it is cheaper to just throw the code out and start from scratch.

The answers I got from RoR experts were usually along the lines of 'It's a RoR. You aren't supposed to think - just do it the way RoR wants it."

Is it popular ? Sure it is ! I actually had to remove that actual experience from my CV, since I kept getting tons of calls and emails for RoR jobs. Yes, they may pay around $130,000 - $160,000 per year (at least in the tri-state area), but in my humble opinion, it is not enough to suffer the mess that RoR undoubtedly is. Unless, of course, you are out of the job and need one desperately.

Ruby, in itself, is an 'okay' (read:basic) scripting language. Not the worst I worked in and -certainly- not the best. But the Rails....

Personally, if I ever come across a CV of some potential colleague that mentions a lot of RubyOnRails, irrespective of 3D experience, it's a straight path to a bin...

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Advertisement

Freelancer is not the place you want to do research, if you checked those PHP jobs you would know why :P I am not defending ROR but don't compare Freelancer jobs to RL jobs or you will drive yourself insane.

Seeing all of your comments about ruby on rails has got me worried about an upcoming project that be starting soon. It is supposed to be using django, which in my research so far is similar to ruby on rails, it just uses python instead.

So I'm wondering if there are the same issues in django as there's in ror or if you guys have any comments about it?

Of course I am going to be continuing my own research.

Engineering Manager at Deloitte Australia

Seeing all of your comments about ruby on rails has got me worried about an upcoming project that be starting soon. It is supposed to be using django, which in my research so far is similar to ruby on rails, it just uses python instead.

So I'm wondering if there are the same issues in django as there's in ror or if you guys have any comments about it?

Of course I am going to be continuing my own research.


I've use Grails myself which is a similar web framework built around the same ideas but this time using Groovy (a Java based scripting language) on top of the Spring framework.

Like all frameworks, they are designed to be used in a certain way and make life difficult if you try to use them in a manner they weren't intended to be used. Because these frameworks are very focused on a narrow class of web app, they are great if that's what you want to produce but an absolute pain if you want to do something different. The questions for you are how closely does your project match the type of app django is designed to produce and how difficult is it to bend django to do something else?

Ruby, in itself, is an 'okay' (read:basic) scripting language. Not the worst I worked in and -certainly- not the best. But the Rails....

I'd say Ruby is pretty far from "basic". How can a combination of Lisp, Smalltalk and Perl ever be considered "basic"? I'm curious to hear what an advanced scripting language would be. And contrary to what RoR seems to be about, Ruby has a different philosophy when it comes to letting the programmer decide on how they want to solve something.

This topic is closed to new replies.

Advertisement