Dinosaurs September 17th, 2007
Don't browse slashdot below +5, or you'll come across this:
Read the documentation and tutorials of Rails. Read the opinions people leave on various forums. You'll notice something frequently recurring: they keep talking about "magic" and "magical features" (literally).
Rails became popular since the MVC architecture it enforces allows you to feel you're using a "more professional" paradigm for developing web applications, and lots of newcomers were attracted by the promise for "worry free development" that Rails promotes.
In fact, Rails has very little real world usage. Trying to adapt it to an existing database schema can make you cry, and their entire "convention over configuration" idea falls completely.
Lots of the "magic" it does, like Active Record and routing / route generation, add significant overhead to each page request, for the sake of abstracting and keeping things flexible that don't need to be flexible in the first place (especially with modern refactoring tools found in modern IDE-s).
RoR is and WILL remain a niche, since there are already too many attempts at people employing it for large sites with very poor results.
It's a popular fact that the official site of Rails itself runs on PHP [rubyonrails.org], to which the excuse is that RoR is "for web apps and not for web sites"... which of course is a very poor excuse when the difference between both nowadays is only superficial.
What I like about Rails is that it resulted in a huge movement towards MVC in plenty of other languages and frameworks.
What I don't like is that those same languages don't try to apply MVC in a smart, efficient, light and performant way, but just rip Rails' features one by one, with routes and all.
People assume Rails and "web MVC" are the same thing, but they are not. A lot of the architecture in Rails is poorly conceived, and takes huge amount of resources to run abstractions of questionable use in real world application.
I suppose this will auto-correct itself as the "Rails fad" passes, but one thing's for certain: after Rails, web development will never be the same.
All these posts seem to come from the same playbook.
Break it down
...lots of newcomers were attracted by the promise for "worry free development" that Rails promotes.
Its sensible defaults do cut down worries, but its staying power is productivity and happiness.
In fact, Rails has very little real world usage.
In June, we relaunched yellowpages.com, becoming one of the world's largest sites on Rails.
Trying to adapt it to an existing database schema can make you cry, and their entire "convention over configuration" idea falls completely.
You can easily override Rails' naming conventions. If it's an uphill battle, your app is either too niche, or just poorly designed.
Lots of the "magic" it does, like Active Record and routing / route generation, add significant overhead to each page request, for the sake of abstracting and keeping things flexible that don't need to be flexible in the first place (especially with modern refactoring tools found in modern IDE-s).
Flexible routing generation makes RESTful architectures easy, and it's a godsend for SEO.
IDEs are overrated.
RoR is and WILL remain a niche, since there are already too many attempts at people employing it for large sites with very poor results.
Since the relaunch, yellowpages.com been breaking its traffic records.
It's a popular fact that the official site of Rails itself runs on PHP, to which the excuse is that RoR is "for web apps and not for web sites"... which of course is a very poor excuse when the difference between both nowadays is only superficial.
rubyonrails.org could be written entirely in flat HTML. However, the Official Rails Blog runs on Rails.
What I don't like is that those same languages don't try to apply MVC in a smart, efficient, light and performant way, but just rip Rails' features one by one, with routes and all.
Because Rails is at the forefront of innovation.
People assume Rails and "web MVC" are the same thing, but they are not. A lot of the architecture in Rails is poorly conceived, and takes huge amount of resources to run abstractions of questionable use in real world application.
Servers are cheaper than developers.
I suppose this will auto-correct itself as the "Rails fad" passes, but one thing's for certain: after Rails, web development will never be the same.
Yes. Those who don't evolve will die.