< Return to Blog

Yes, you clearly need to learn Rails

Tyler Menezes wrote a blog post called “I will not learn Rails” and appeared on my Twitter timeline thanks to Ryan Bigg's tweet indicating his follow up post.

Since Ryan has done an excellent job in responding, I'm only going to touch on a couple points — those that I do not agree with and/or feel are out right incorrect.

… design flaw mass-assignment

See my previous post covering the whole Github debacle which closed with links to various approaches to ensure your Rails apps are safe from mass-assignment issues. I've also linked to a commit in the 3-2-stable branch of rails/rails which shows that all future apps will have the whitelisting, attr_accessible protection that is, enabled as default when newly generated via rails new MyApp.

That, in turn, is usually run on a server running a flavor of Linux, which they didn’t develop

I'm a total Linux g33k, so I feel sorry for our 18-year old relatively young Tyler. To give you some context, back then I was taking apart and building my earliest PCs and learning BASIC/PASCAL. It wasn't long before I was toying with the likes of RedHat and even compiling Gentoo with NPTL from Stage1 source — search for 'bsodmike' in here to find all the scripts I'd documented back then.

I don't believe I need to extol the pure awesomeness of Linus's genius - Linux has even made it to mobile devices by way of Android and will always continue to be my sole choice of enterprise/production server OS.

And it doesn’t even run well! The framework+server takes on the order of a gigabyte of RAM

This certainly made me laugh the most. I've been running my personal Linode slice for over a year now with only 512 MB of RAM; my setup consists of Ubuntu 10.04 LTS with Apache/Passenger and, at the time of writing, running over four Passenger instances with the RAM sitting at a cool 34%.

With cloud-hosting and VPSes, resources are relatively cheap; RAM can be scaled as demanded. At the time of writing, I'm also managing two MediaTemple (ve) VPSes running 10.04 with 2 GB RAM each — one box serves over eight Rails apps and this number continues to grow.

Tyler, I'm afraid this is yet another point of yours that only serves to establish the fact that you have no credibility whatsoever to be posting and commenting on Rails in this manner. Why am I questioning your credibility — simply due to the many erroneous claims you have made about Rails (again, you're dredging up performance issues that are a thing of the past). Hell, complain about the asset pipeline, something of relevance!

Much of your points are spent referring to details of the past and bare little relevance to the Rails community of today and/or the state of Rails itself as of March 2012. As I've said to you on Twitter, it's perhaps you are taking things far too seriously as well.

"Rockstars", 'ego trippers', and just point blank douchebags are found in all communities. If you expect to only work and collaborate with 'nice' people, well I certainly wish you all the luck in such a pursuit!

This ultimately brings me to question the entire purpose of your post. I feel it's written solely in spite of the Rails community, just because you've (unfortunately) had a bad experience. While this is a legitimate concern, I hope your post alone won't influence young developers and those new to Rails too much.

On the whole, I've got to agree with this tweet by @MikeG1,

@batasrki @ryanbigg Heck no I don't agree. His whole argument amounts to "Rails sucks because I've met Rails douches".

I continue to learn something fascinating about Rails everyday — heck, only today I came up with this and even found myself forgetting stuff I'd done only a couple months back!

Anyone with an open-mind and the willingness to learn can benefit greatly from Ruby/Sinatra/Rails — IMHO it is the best web app framework currently in existence and I'm thrilled to be apart of this fantastic community (Hi Folks! #RubyOnRails! o/) as well.