Category Archives: General

General

Embrace the impedance mismatch

Maybe I’m a bit of a masochist, but I enjoy a good flamewar at times. For that reason, I still have TheServerSide.com in my bookmarks to check out what our Java friends are bitching about. My favorite subjects are ‘the new web framework of the month’ and the occasional persistence framework rants. Today, I checked TheServerSide to see a post with the subject “Criticism of Java Persistence Frameworks” that had a promising 46 comments. Yummie!

The comments were a little bit disappointing for my taste, but one from Robert Pappas was very interesting:

The gap between stateless HTTP and OOP is nearly as wide as the gap between OOP and RDMS.
This is why we have at least 6 major Web Frameworks for Java…and all of them have serious drawbacks (from my experience anyway).
But yes, your concerns are valid. There is a mis-match, and I’m not sure if it can be address in a seamless way. (Without switching to Object Databases)

And he’s right! The impedance mismatch that people often talk about, also exists in web programming. So instead of one impedance mismatch we have to deal with at least two of them! That makes a developers life even worse, according to the rest of the comment.

holygrailWhat struck me about this comment is the negative tone that might have been caused by frustrations when trying to bridge the gaps between relational databases, OO and web programming. Lots of developers are constantly searching for the one and only Holy Grail of Software Development and get frustrated when it appears that what they found is all but the Holy Grail.

Embrace it

One day, I came to the conclusion that the Holy Grail of Software Development doesn’t exist and that made developing software so much more fun. It’s just the mind set! Accept it and embrace it, stop searching for the Holy Grail and use the tools that help to embrace the mismatch instead of fighting it.

Back to .NET web application development: choose a good O/R mapping solution and something like ASP.NET MVC or Monorail. Definitely not the Holy Grail, but these tools embrace the impedance mismatch and that sure made development less frustrating and much more fun!

Cuyahoga General

A new experiment

Last week, I started to do some serious Cuyahoga development again and I’m going to try a new development methodology: blog-driven-development. A few days of development brought up so many interesting things, so I decided that I might as well write about them (in fact, I already started it because this post was also triggered by Cuyahoga development).

In the near future, I’ll be writing about the following topics:

  • adding an ASP.NET MVC application to your legacy Webforms application;
  • running the same legacy application in IIS 7.0 integrated mode;
  • a multi-part post about validation with Castle validators and ASP.NET MVC;
  • any other interesting topic that comes up during development.
General

Introduction

Hi, my name is Martijn Boland. For a living, I develop software and try to help other people building better software. Together with Erwin Berends, I own a little software company in the Netherlands called Taiga. I’m also the lead developer of the Cuyahoga CMS project.

In this blog, I’m mainly going to write about the technical stuff that I’m encountering on a day-to-day basis. Currently I’m especially interested in the things that ALT.NET adds to the Microsoft .NET environment, so you can expect some posts in that area.