Will Rails Kill Ruby? Will Microservices Kill Rails?
Join the DZone community and get the full member experience.Join For Free
Having built a few things in Rails myself, I couldn't help but feel some of Piotr Solnica's pain in his blog post Cutting Corners or Why Rails May Kill Ruby.
We can’t continue building systems on top of mountains of monkey-patches like Rails. ... In 2009 Uncle Bob gave a talk at Rails Conf titled “What Killed Smalltalk Could Kill Ruby” and he said “it was too easy to make a mess”. ... Rails may kill Ruby because many smart people are leaving Ruby or have already left Ruby.
Rails does make it really easy for beginning programmers to build a website. But personally, I'm fairly worried he's right about Rails fostering an echo chamber of novices. Will it bring the Ruby ecosystem down with it? The language itself is also extremely easy for beginners to grasp.
Probably not, I'd say. I wasn't following the industry when Smalltalk was around, but from what I've read, I don't think there was anything as popular as Rails around Smalltalk. Rails will live on until something easier comes along, but will Ruby? I think so.
It has plenty of developers who use Sinatra and it's also nice and simple language for sysadmins to learn (think Chef). It's also easy to build quick ancillary programs with it. When it comes to dynamic programming languages, there's none that match the level of terseness and maturity of Ruby.
While Solnica criticizes "monkey patching," it's a well known fact that Rails values elegance and convention over configuration. Rails leans toward monolithic architecture by design. Monkey patches are what you do in a monolith sometimes.
But as we're all aware, monoliths are not in vogue anymore (except at places like Basecamp and Etsy). Microservices are the new hotness, so industry trends would indicate that Rails is not the way to go in the long term (this was frequently asserted by many before the microservices craze though). So why use it (and learn it, as a beginner) in the first place?
My prediction is that Rails won't kill Ruby, but Rails may die off as a tool for anything other than early-stage startup applications. That's still a critical role to fill, but I also predict that the Node.js may have something soon that steals novices and monkey-patchers of the Rails community over to their side.
Opinions expressed by DZone contributors are their own.