Thursday 17 January 2008

Ruby on Rails productivity

I was always amazed by the productivity of ruby language. Specially by the development infrastructure of rails. I wanted to check it and specially to measure it.

Therefore, I decided to implement something which was already implemented in other languages before using other infrastructure. This happens in our industry very rarely.

I started to implement the payroll system described in the book Agile Software Development. Originally the payroll system was written in C++ and consist of about 3300 LOC. I implemented the first iteration in ruby writing only 383 LOC including even the test code. I was very surprised. :)

And why did I use rails? Ruby would have been enough.
Simply because it has a very effective development environment.
I used migrate files for creating the relational DB, fixtures for setting up the preconditions for testing, zentest as devil's advocate, and rake for a lot.

What about the benefits:
  • it was fun, easy, and very interactive
  • I've got fast feedback from zentest
  • all the O/R mapping was already done
  • learned a lot along the journey
  • During the development I was happiest ever
Keep smiling :)