The Shadow-facts of life

OK, I like to pick on myself as the marketing guy that lost his technical skills in b-school. But, in truth, I still pride myself of having a nice balance of business and geekness and staying fairly current on what's going in the developer/architect world. But it's hard to keep track of the changes in the industry and what is a fad versus what is real. Take Aspect-oriented programming (AOP). I was late to the game on this one. Apparently, it's been around for a few years. Many of you have seen a version of it running with our reference application code-named Shadowfax (I thought I'd take a page from the book of Longhorn to point out Shadowfax won't be it's final name--or will it :>). AOP is a paradigm for breaking down crosscutting concerns into modular units of implementation. It encapsulates behaviors that affect multiple classes into reusable modules. In our case, we built an aspect-pipeline that essentially intercepts messages and processes them for these cross-cutting concerns. Apparently, aspects have been around for a couple of years but I hadn't heard much about them until Shadowfax. Now I am seeing them pop up everywhere. Of course, aspects aren't easy and neither is Shadowfax. I haven't figured out whether this is exactly what the world needs (because it raises the bar in terms of what is possible in a .NET enterprise app) or if this is exactly what the world doesn't need (because it makes life a lot harder). I guess it depends on who the world is. For the Java/C# guy that is rooted in OOP and likes the next big thing, Shadowfax might be great. If you are a VB6 developer and trying to buy into .NET or if you are someone that is writing a simple app that doesn't require much complexity (like I usually am when I am trying to keep the programming skills fresh), it might be best to stay away. As Jim Newkirk said during the p&p summit, "don't write a four-tier, four-layer distributed application to keep track of your CDs". Shadowfax isn't the MFC app wizard (my holy grail several years ago to do RAD w/o going to VB)--it's a whole lot more and not everyone is ready for it. It's definitely better than Duwamish, but that's a mixed blessing for some and I really hope we get the message out to the right people. For those who can't use it because it is too complex, I wonder if we can still get the point across, but do so in an easier way. We've created a lot of options to configure, made it very flexible, and try to hit a lot of scenarios. Maybe we need a slimmed-down version (like WebMatrix to VS or MSDE to SQL)? I get a lot of flak from Keith Pleas, including an entertaining rant at a reception last night, that we are ignoring the VB developer (by the way, for you VB guys out there, this man is your Norma Rae). Shadowfax won't do anything to change that perception. So what's needed? I'd love your thoughts.

{Rage Against The Machine - The Battle for Los Angeles}