the_pm
May 20th, 2006, 05:00
We had a client request RoR on our server, and you know us, we'll let people sweet-talk us into pretty much anything. So...RoR is getting installed very soon. The word on the street about the technology is very encouraging. I also read an interview with David Hannson (http://www.regdeveloper.co.uk/2006/02/16/ruby_rails/), creator of the platform.
So, at least this one customer will be developing on this platform, and I'm wondering if it's worth learning myself. Anyone heard any chatter on the subject, or taken a stab at learning Ruby?
BigBison
May 20th, 2006, 06:42
It depends on your point of view. RoR is completely different from PHP in terms of programming, but in terms of drawbacks they are quite similar. From a webhosting perspective, a RoR app won't be any more efficient than a PHP app.
From the perspective of developing websites for clients, you'd be turning away business by not learning it. You'll have customers who demand it, and others who are already using it. You'll probably be happier with it than you are if you've ever tried developing (or working with) an app in PHP.
The part of the interview which worries me is this:
As for scalability, we didn't try to solve that problem with Rails, because it is already solved. How is Yahoo scaling? They’re doing billions of page views a day, and they’re using PHP. The thing about PHP, Perl, Python and Ruby is that they can all be architected in the same manner, which is this notion of not having session state in the application layer.
Well, err, uh... That's a logical fallacy there. Just because Yahoo is doing billions of page views a day doesn't mean they aren't scaling efficiently vs. throwing a lot of money at the problem. In my private development-journal thread (sorry, folks) I've documented the gross inefficiencies in how Wikipedia scales, unlike Yahoo they tell us about their machines since they rely on donations.
Wikimedia has about 10TB of HD for every 1TB of data, for example. This is a direct result of the sort of scaling Mr. Hansson advocates. There is one form of development which has proven to scale, and that is REST. Like PHP, RoR really misses the boat on cacheing.
For example, in a RoR app, your image links will be assigned query strings, i.e. image.jpg?jibberjabber, such that the expiration on each image version can be set to 'never'. This is bad in several ways, particularly since HTTP 1.1 already has eTags, amongst other standards-compliant methods for achieving image cacheing.
So I'm a bit dubious of the quote, that's just one example where the RoR developers appear very concerned about scaling. The other major drawback besides incorrect cacheing, is the same as with PHP -- the script must execute as its own process for each request, it is not persistent or threaded.
Is it more or less efficient than PHP? Well, suffice it to say it's bad enough that they're in the same ballpark. The popularity of RoR is most likely the Goldilocks effect amongst application coders. The PHP porridge is too cold and the J2EE porridge is too hot.
I've decided it's yet another application framework I don't need to learn, but will nevertheless be able to encapsulate with my system and therefore I'll be able to optimize RoR applications, no differently than if they were PHP applications.
jgarifuna
May 20th, 2006, 07:16
I first read about the hype of RoR about a year ago, while I was researching and transitioning from a home-grown perl code generator to a PHP framework.
I recently started reading Crossing Borders (http://www-128.ibm.com/developerworks/java/library/j-cb05096.html) series of Bruce and decided to go to the book store about 1 hour ago to purchase the book "Agile Web Development with Rails"
Nowadays, I guess it's best to know than not to know :)
vBulletin® v3.6.8, Copyright ©2000-2012, Jelsoft Enterprises Ltd.