 Ruby has significant advantages over php. It has been built from the beginning to be both readable, simple, and still have many powerful object oriented and dynamic features. PHP was a language built by a man to maintain his personal website, and grew to accomodate many unplanned features later. There is no comparison.
|
 All modules currently ported over to Ruby are 1/2 to 1/4 the size of the PHP code.
|
 Code length is important. It should read like an english sentence rather than computer jargon as much as possible. While Java has many of the same advantages over PHP as Ruby, it is much more verbose than both. I believe this simple beauty makes up for the fact that many programmers have not used ruby. Any programmer should be able to understand and modify a ruby script.
|
 Ruby-on-Rails has an integrated testing framework.
|
 I cannot believe I was successful creating the subtidal map without automated testing. Its scary to think about. Testing also makes making changes and improvements much easier because you can instantly know if your change has broken something unexpectedly.
|
 RoR has built in support for caching. This can result in remarkable speed improvements and support for many more visitors.
|
 RoR automates or guides development of common web features like data entry forms.
|
 You end up following in the footsteps of a lot of smart people, rather than reinventing the wheel. PHP also has frameworks like these, but they are mostly playing catchup to ruby on rails.
|
 Rails has support for fancy AJAX stuff like google maps and the javascript that powers the subtidal page.
|
 Google Web Toolkit, Adobe Flex, and many other technologies are viable alternatives in this area. Evaluating them all would be difficult. I already know rails will work so that is what I am using. Adobe Flex can be integrated with ruby-on-rails, and I believe that in a few years it will gain some serious traction, but it is still young today. Its definitely a technology to keep an eye on.
|
 Disadvantages
|
 Ruby on rails is inherently slower than PHP. I am choosing maintainability and expandability over speed. In most cases caching and the superior benchmarking and debugging support of ruby-on-rails can more than make up for this.
|
 Ruby on Rails is not as popular as PHP or Java.
|
 I don't think I could really build on what we have with PHP because of the aforementioned disadvantages, so it is out. Java is a viable alternative but I believe Ruby is more suitable for the web and is easier, all things being equal. Java tries to be everything to everyone, Ruby and rails is more about covering 95% of common functionality painlessly. I haven't run into anything yet that made me think "this would be easier in x language".
|