Why are we so productive with Rails?

We’ve been using Rails here at 82ASK for over a year, and we love it.
We’re much more productive in Rails than we were before we switched.

I’ve been thinking recently about why, exactly, we’re so productive in
Rails. Especially given that Fred Brooks’ “No Silver Bullet” paper
suggests that there are no more big wins to be had. Rails certainly
feels like a big win to us!

So anyway, I’ve reached some conclusions about where Rails’ productivity
boost comes from and have blogged about it:

http://about.82ask.com/2007/04/05/ruby-on-rails/

I would be very interested in your feedback!

Paul.

Paul B. wrote:

http://about.82ask.com/2007/04/05/ruby-on-rails/

“On the back of this experience (and after a lot of internal debate!)
we decided to rewrite one of our existing PHP systems in Ruby on Rails
in June 2006. Including load testing, end-user trials etc, it took
three developers six weeks to entirely duplicate a 22,000 line PHP
system with approximately 5 man-years of work invested in it. The
final Rails system consisted of 6,000 lines of code.”

Luv them rewrites. Could you have rewritten in PhP and achieved fewer
lines? Of course! But an order of magnitude fewer? That’s the
definition of a Silver Bullet - an order of magnitude in one
rewrite…

DRY, soft typing, wall-to-wall unit tests, browser-safe JavaScript,
and instant Domain Specific Languages for everything - what more do we
need?


Phlip
http://c2.com/cgi/wiki?ZeekLand ← NOT a blog!!

Paul B. wrote:

I would be very interested in your feedback!

Paul.

Fantastic! Thank you very much for taking the time to write that. I
also really appreciate the links to all referenced material.

Higgly recommended

thanks again

ilan

Ilan B. wrote:

Fantastic! Thank you very much for taking the time to write that. I
also really appreciate the links to all referenced material.

Higgly recommended

Many thanks for the kind words, Ilan - I appreciate the feedback!

Paul.

I just read this post with interest and then moved on and added a
thankyou to a later post containing a snippet of code.

My comment there however led me to wondering about how things have
developed. I learned the first elements of coding using a set of
registers on a page stuck to cardboard with sliding strips of 1’s and
0’s.

Then our college had TTY access to the Open University mainframe
(amazing, but you had to wait till the next day to get your results),
and then came the microprocessor along with the PET and NASCOM et al.
How things have developed!!

Anyway, as you can guess from the above, I am no youngster, and am
realising that my memory does not serve me like it used to. So often
I know what I want to do, but it can take quite a time to put that
into the perspective of appropriate code structure (eg. I know I saw
a plugin, a Class, a method that would solve this, but where was it,
etc etc.)

The extent of the programming field now necessary to work in - for
example - Rails is enormous. It encompasses HTML, CSS, Ruby and Rails
itself, just for starters. Then some of the principles behind client
server/browser interaction etc, and throw in perhaps XML, XSLT, ftp
and goodness knows what else you may need to incorporate. And we know
that with the rate things are moving, documentation is often sparse
and fragmented. I remember the day we had our first computer in our
office, a very expensive HP9845 workstation, running primarily HP
Basic. We had one computer and 5 complete sets of the manuals (very
well written by HP of course). The manuals were taken home in the
evenings and read from cover to cover, at the end of which one could
retain a fairly comprehensive awareness of the entire set of
instructions available.

How different things are now. True, there is the Agile Rails book,
which can be read cover to cover.

So what is my point. You are referring to the Silver Bullet, and I
believe that is true. I am regularly amazed how using Ruby and Rails,
you look something up, implement it and it “just works”. And this is
the key, with Rails productivity is increased, but there can be a cost
in lack of familiarity in getting to the solution.

For me, this highlights the invaluable importance of Google in the
whole process. (I guess I should say the internet and search engines
in general). Without these, the majority of current development in
technology could remain, for most, left on the shelf, since one could
neither afford or manage to read enough books to cover the extent
necessary.

Let’s hope the likes of Google continue to pioneer new and better ways
of pulling the information we need from the ever growing sea of
information.

tonypm (with apologies for the reminiscing)

The problem from my perspective however is not in finding the
information itself, but in knowing how to phrase the question to
describe the information I am trying to obtain, and of course this is
where the forums really come into their own.