They say beauty is only skin deep; while that may true, it’s certainly hard to see the real beauty under the face of applications developed on Ruby on Rails (RoR or just, Rails).
RoR is a, relatively, modern language built on Ruby. Developed by 37Signals, Rails has been adopted to developer some of the most notable applications on the internet (Twitter, Github, and Redmine). Even the Yellow Pages uses Rails. The rise in popularity is of no surprise, Rails is both incredibly powerful, as well as incredibly easy to use; a combination that makes it beautiful.
For instance, take the simple example of a for loop in PHP:
for ($i = 0; $i<10; $i++){
echo $i;
}
This would write "0,1,2,3,4,5,6,7,8,9"
In Ruby, this would be written as
(0..9).each { |i| puts i }
(there are much simpler ways of writing this: http://refactormycode.com/codes/2-ruby-simple-loop)
This is just a simple example of Ruby's ability to minimize frustration. While it may take a little getting used to (especially coming from stricter languages like C++), once you understand the language, it is simple and elegant. It reads like a language, not like code.
The great thing about Rails is that it takes Ruby's philosophy and extends it to the realm of web applications. No longer do developers have to write complicated SQL code (with a notable exception). Speaking of the database, relational tables are handled by models, while database changes are source controlled through migrations. Web routes are standardized so that CRUD applications follow the convention of /controller/action (for example creating a new user is usually /user/new). I could go on and on, but the bottom line is application development time is reduced, while code maintenance is eased.
While I still have a few gripes with Rails I have become a giant advocate of the MVC philosophy as well as the direction Rails is taking. It's incredibly easy to develop as well as deploy applications using mod_rack.
If you're interested, the big application I'm developing and launching is called Zolio. There will be a future post about it and its place in education. I'd suggest heading over to the site and subscribing to be notified when Zolio officially launches.
