Wednesday, October 03, 2007

More evidence that rails is fubared

Yes, rails has some nice features and cute tricks for building common functionality. However, the more time I spend working with it, the more I get the sense that many critical aspects of the library -- including rendering, logging, benchmarking, ORM -- are poorly constructed, difficult/confusing/impossible to configure ... and generally just fundamentally FUBARed.

Here's an example. I wanted to add some diagnostics to my app, but only if we're running with a certain log-level enabled. In Java, with commons.logging, I'd do this by checking 'if (LOGGER.isDebugEnabled()). "Ok," I figure, "rails has a reasonably full-featured logging infrastructure, there must be some way to do this..." So I google for 'rails logging configuration' and arrive at this page from the official Rails wiki:

http://wiki.rubyonrails.org/rails/pages/HowtoConfigureLogging/versions/62

Lo and behold, this "helpful" page is just SMEARED with markup from angry developers, complaining about how the rails-modified logger doesn't work as documented, as intended, or as they expect that it should.

More and more, my impression of rails is this: it's fine if you just want to throw together a small-scale website with attractive AJAX features. But if you intend to build an app that needs to be computationally intensive, or scalable, or support complex data-structures, trying to build it in rails is going to hurt more than it helps. So far, my experience has been best with SpringFramework MVC and a whole bunch of jakarta-commons support.

Monday, October 01, 2007

GeekSecrets?

Here we go. During the day, I'm a Software Engineer/Architect with substantial.com, a small development consulting firm. Recently, I've been the lead developer for yourstreet.com, the map-driven local news and discussions web-app.

I've been doing this stuff for 10 years, and I've solved some problems along the way. So I figure I might know some stuff -- "secrets?" -- that other geeks would like to hear. Or, I might have some questions that we might ponder together.

If I can find time, I might even share some of that stuff here on GeekSecrets.