I've been able to devote a little time towards learning and experimentation with Ruby on Rails (very little Ruby by itself, nearly all with the Rails framework, specifically with the "InstantRails" kit) and figured it's now time to list my thoughts so far:
- It's quite powerful, enabling very quick generation of results that can be downright painful when done in other ways. Especially in how database content is seamlessly applied to the web.
- Debugging, while rare, is a bit on the difficult side. Relatively easy to generate working code the first time around (except for a couple points of syntax that seem just goofy to me, so I like to typo them a lot!) Error messages do have all the relevant info, but can be a bit obtuse at the same time. Combine that with the large quantity of source files that explode into a multitude of directories and the result is a lot of chasing around to find and fix the root causes.
- Testing... Supposedly one of the strongpoints, it cause me the most annoyance. Line for line, I seemed to generate far more bugs in my testing code than in the production code! Not only that, it seemed to take significantly longer to track down. Not once did any of the testing code point out any errors in my production code, but I blew tons of time chasing testing code errors. I found this whole situation quite surprising. However, looking back, there shouldn't be a surprise. I'm writing 2-4x as much testing code as production code. Of course there's going to be more errors in it! Strong testing becomes a necessity in complex software, however, I was working with simple web based apps that can be much more efficiently tested by simply trying a few operations (rather than writing code that might have bugs to try and automate it).
- Ultimately, I'd have to call it more a scripting language & framework than a true programming language. Very powerful, making "difficult" types of operations seem easy. However, scaling to truly complex ("many choices/paths" type software) seems problematic. None of that should be taken as a slam against it, all these tools have a different purpose and deserve a place in our bag of tricks. It's our responsibility to choose the correct place in the bag of tricks... :-)
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5