Some programmers talk about 'code smell', or 'code feel'; what about a framework? What does RoR 'feel' like? I've been talking (blabbering) about Ruby on Rails to anyone that will listen or has the ill fortune to be within earshot of me for the last month. Usually this person is my beloved wife. At this point I'm sure if I mention Rails once more to her I'll be sleeping outside. Anyhow, during one of my rants she stopped and asked me "What's the difference?". To her, a programming environment is obviously alien, but to a programmer it's our world. Our day is spent in that world, and most of our creative output is expressed in that world's tongue.
Before I pulled my head out of my nether regions (gave up and started using frameworks), I coded everything by hand in PHP. Then one magical day I sat down and decided to see what this CakePHP thing was all about. After realizing that I was doing far too much work designing the infrastructure that a framework provides on top everything else, I immediately switched. CakePHP cut my work by 80%. Seriously. It's a godsend for PHP people who haven't yet realized that Ruby On Rails is the path to eternal salvation.
I hacked happily away with CakePHP for six months or so; did a project or three. Very soon I realized that hacking is fun and all, but I was really feeling the limitations of PHP as a language itself. PHP gets the job done, but in an extremely non-elegant way. This moment coincided with the release of Rails 2.0. In a fit of coincidental serendipity, I decided to give Rails another look now that I'd decided that frameworks were a Good Thing.
A shade over a month later, I've read six Ruby/Rails books cover to cover. I've ported existing PHP development to RoR. I've dropped PHP permanently. It is sincerely that good. It's career altering.
So what does RoR 'feel' like? It feels like cheating. It feels like starting a marathon and then taking a taxi to the finish line. Remember the 80% workload reduction I achieved by jumping into a framework? With RoR I would honestly say that I'm coding at 5% of my original workload. Much like the 1950's promise that technology would slow down our lives, the actual consequence is that I have more time to do *better* work. I'm not just filling 5% of my development time, I've freed up 95% to conquer other aspects of coding, such as Behavior Driven Development, requirements analysis, and web design.
RoR is like cheating. It's like connecting dots. When done right it's the perfect zen-like hum between both halves of your brain. Yes; it's that good.














“RoR is like cheating.” thats money.
no need to feel guilty, why should programming be any more difficult or hard work than it already is ? I have been trying to transition away from C++ to Rails because the web is becoming mature. The time feels right to me. Developing web apps with older technology wouldn’t have been as much fun.