Tuesday, December 18, 2007

Conceptual Bickering

Rarely do I disagree so wholeheartedly. Conceptual Integrity. Great for right now. Perfect even. Maybe good later. Much later? Not so much.

My Take:
Loosely coupled systems and best-of-breed / best-for-me systems are flexible and are much more powerful in the long run. They are harder to play with out of the box (crappy tutorials are a common problem), but in the long run they provide flexibility that is unmatched. Admittedly I used to be a Conceptual Integrity advocate. 10 years of waiting for Java to incorporate JSRs into releases and obtuse Microsoft MSDN searches killed it. Almost makes me wish I spent my time coding C and Perl and contributing to lost Linux distros.

Best-of-* Pros:
Let's loot at Pylons vs. Django. Django is great - fantastic even. it's what got me into Python, but some of the components weren't right for the projects I'm developing - plus, their infinite release cycles are absurd. Pylons advantages lie in it's loosely couple structure. Don't like Mako? Try Genshi. SQLAlchemy too confusing? SQLObject or Elixir. Need a component? You don't have to work hard to figure out how to swap out the platform standards and implement something to your liking or write your own (egads!).

Best-of-* Cons:
Pylons Documentation stinks (sorry guys). SQLAlchemy is a bit of a mystery to me even after delving deep into the source. Mako - ack! The biggest problem is really being able to read different styles of docs and learning where to find info. Thank goodness for google and google-groups. Otherwise it'd be impossible.

Maybe I'm an architect first and a developer second. Conceptual Integrity is something that I'd rather create based on the needs of the app. Not look for a platform to provide.

No comments: