Frameworks And Discussions. I have been reading many web pages about Ruby and Python the past few days, in an attempt to make up my mind and choose one of them for a few personal developments I have in mind. Ruby On Rails has piqued my interest, since a rapid development environment (in this case, a framework and a few tools around it) can make the difference between mucking about and really getting something done in your free time! But since the applications I want to build don’t need a heavy RDBMS (a bit of XML is sufficient to get going; I want to be able to change to a DB if necessary), I’m not sure if RoR is worth looking into at this moment. On the other hand, I certainly don’t want to write my own framework, be it in Ruby or any other language. So I have not yet decided which road to travel…
At the same time, some of the claims about the fantastic productivity of RoR are getting challenged. Here for example: Bla-bla: Ta-da in Java (and Laszlo and RIFE), by the hand of Geert Bevin. The debate about his work is held at The Serverside, under the title Move over Ruby on Rails, Java can be concise too!. Don’t mind the drivel and cat calls, and remember two things: first, Geert did put his money (his time at least) where his mouth is, and you have to applaud him for that (and for his result), and second: RIFE, RoR, or whatever are just tools to help build applications, and each tool has its own specific target. You can build a hut with twigs and clay, but not a 100-story sky scraper – apply wisdom first, and frameworks (and languages) later!
One specific issue that bothered me about RoR is the fact that RoR dives into the DB to get things done. Having just done a lot of OO development, I still think very OO and not RDBMS. And perhaps that’s as it should be: you need to think about the difference between your object model (that you will be coding to) and your persistence model (where and how you will store your data). As has been noted before (but it was good to see a reminder in Sean Corfield’s report on a presentation by Scott Ambler),these two models don’t have to be the same! If, like RoR does, you derive the data structure from the database, then that means that your code and your DB are intimately linked – and that may well spell a lot of trouble in larger projects, where DB refactoring is much more prevalent.
PS. Did I mention that Geert is Belgian? No? Well, I’m happy to do so here. His Bla-bla List is not bad, either.
Read Full Post »