Did Ruby let me down?

I have spent considerable time implementing a data-abstraction layer based on ActiveRecord for a web application I am creating. And now I have finally decided to abandon ActiveRecord. The library itself is a mess to work with. The over-simplified approach to a “web application” that Ruby On Rails seem to have is reflected in ActiveRecord. The same goes for the ActiveResource library. The magic stuff behind the curtains makes it incredibly difficult to create a fit-for-purpose architecture for my particular web-app. Which by the way is not the standard blog/wiki/cms/shopping-cart illusion of a web-app that Rails apparently is based on.

A web application framework should be about supporting the needs of that web application. Not try to push it into a model that is a compromise based on the average of common web application, and maybe not what YOUR particular web application really needs. The “create {insert your application of choice} in 15 minutes” is not a valid argument.

Anyway, I spent some time trying to implement the Og object-relational mapper from the Nitro project. Its by far better with regards to design, flexibility and source-code layout. Despite its severe lack of documentation, I still prefer it to ActiveRecord. Actually, comparing the two might no be fair; they take a different approach to the object-relational phenomena, where Og is more about Object -> Relational mapping than ActiveRecord, which is more about Columns & Attributes. ‘Nuff said, you have to make up your own opinion related to the kind of web-app you are writing.

Apart from spending time on implementing, and managing a mess of gems and libraries, it’s sad to say that the average libraries in the sphere around Ruby are at their best inconsistent. The gems them selves are somewhat a pain in the ass; matching Ruby gems with the Debian package management has resulted in a number of conflicts on my Ubuntu machine. This little notice from the Debian community comes to mind.

Don’t get me wrong on the Ruby side of this rant; Ruby is a beautiful language. The eco-system around it is quite ok to interact with. It’s the quality of libraries and packages coming from that eco system that has a long way to go to reach maturity. In the mean time, I’ll keep hammering the Og package and see where I go from here.

Tags: , ,

Comments are closed.