Here's a warning: this post will most definitely be nerdy.
Ruby on Rails seems to be getting a lot of attention and some really smart companies are getting behind it. Still, the idea of learning a new language seems daunting. I understand that Rails really helps streamline the proccess, but I'd love to see some more documentation as to how this will make my life easier than using PHP. Their screencasts probably are exciting to Ruby developers, but I doubt there are too many out there.
Now, you could argue that I looking to jump on this bandwagon and learn it solely because buzzworthy companies have done so, and you'd probably be right as it will likely be marketable to know the technology. But, I really want to see a document showing me what I have to gain, which is why I'm posting this. Does anyone know of some good testimonials from PHP or other non-Ruby developers singing the praises of Ruby on Rails with specific evidence? If so, you'll make my day. If not, I'll just need to dig a little deeper on del.icio.us and Technorati.
12/13/05 7:29 PM
I know what you mean; the sample code I've seen looks completely foreign and intimidating. I look forward to seeing what you dig up...
12/14/05 12:47 PM
what?
12/29/05 10:07 AM
I'm a new Rails and longtime PHP developer, though I'm being drawn closer and closer to the Rails event horizon.
Praises:
First, it's a full stack framework. It attempts to solve the whole web problem. This lets you focus on writing the application, not the support apparatus.
With respect to full-stackness, Zend/PHP is shooting back with the Zend Framework, which I'm looking forward to seeing.
ActiveRecord. Rails will automatically persist your objects to the database for you without requiring you to write SQL or repetitive XML mappings. You can opt to write SQL if you want/need to. Development becomes much more fun when you don't have to worry about object persistence. I want an object. Thanks. Change like so. Save.
Likewise, the Model View Controller concept is so pervasive that it fades into the background, but enforces clear divisions in your code.
There's a large intersection in the user bases of Rails and Macs, which is nice.
I was stranded on a French speaking tropical island writing an object oriented PHP5 application that needed some Ajax features, so I checked out Rails' Ajax support and ended up extracting prototype.js (the Rails javascript library) for use with PHP.
Prototype was like Ruby at first; confusing and strange-syntaxed, but willing to repay the attention it took to understand it.
I downloaded the beta book PDF of Agile Web Development with Rails, got started with a little toy application, and was hooked.
It's really true that you don't need to know a lot of Ruby to get started with Rails. You follow Rails tutorials, look things up in "Programming Ruby" as you go, and pretty soon you've picked up some conversational Ruby. Things that looked foreign at first (like blocks) start to not only make sense, but seem a very powerful feature.
You'll definitely run into roadblocks and know that you could bang out the solution in ten minutes in another language. You'll spend time installing ruby gems, google about incompatibilities, read about configuring lighttpd, etc. But you'll learn a lot.
If I write another PHP application from the ground up, it will be heavily influenced by my experience with Rails.
-j
01/03/06 11:11 PM
I work at a shop that makes heavy use of Java, Coldfusion, and PHP. One of our developers is a strong Ruby guy and he has nothing but disdain for Ruby on Rails. He says that it doesn't leverage the power of Ruby and it depends too much on conventions that don't fall in line with traditional Ruby development practices.
I've done some C development to make PHP work in a java servlet environment.. I can say the underpinnings of PHP are frightening! PHP will definitely get the job done, but just don't look at the internals.
01/25/06 3:46 PM
As a Ruby neophyte, I'll have to take your co-developer's word about Rails not leveraging the power of Ruby. Makes me still more curious about the language.
On the other hand, the quotes and linked material from the creator of Rails and the creator of (competing Python web framework) Django in this post shed some light on their philosophical differences with respect to "traditional development practices," magic, domain-specific languages, etc.
Rails takes a pretty radical position, which isn't to everyone's taste.
Enjoy.