ALT.NET Conference, Day 2 - Taking the Good With the Bad
Today's post is actually a nice continuance of yesterday's because it deals very specifically with one of the issues that I raised yesterday - specifically the issue of the emerging tenuous relationship between the ALT.NET community and the rest of the professional .NET developer community. That said, today was fantastic - great people, great discussions - and a great show of forthcoming technology by ScottGu. So, in sum, we'll deal with the good and the not so good in tonight's post (IMHO <g>)!
The Not So Good - How to Be a Catalyst for Change In the Community
I went into this session hoping that individuals would come in wanting to share success and/or failure stories related to creating an environment that bought into at least some of the principles of agile - or at the very least became more passionate about writing great software. I also went in expecting there to be a fair amount of Microsoft bashing because of designers, code generation, NIH, etc... (I would mention MSDN/MSDN Magazine here, but that session is tomorrow, so I'll deal with that in the morning). What actually unfolded actually surprised me a bit. So firstly, I should say that there were some success stories shared. J.P. Boodhoo talked about some of the successes he has had with "lunch & learns" - Scott Hanselman and Jay Flowers talked about growing influence exponentially via a style that for this post we'll call "influencing the influencers" (Jay - you had mentioned a book that dealt with this topic - if you're reading, please post the title in the comments). Past those (and a few other) examples, though, the conversation took what I considered a fairly cynical and elitist turn. Earlier I mentioned that I was surprised a bit by what unfolded. What surprised me was that the frustration expressed was not as much directed at Microsoft, but was directed at the general development community. It basically came across as "why won't all these people stop calling me dogmatic and listen to what I'm trying to tell them?!?" Several in the room made the argument that energy should only be expended on influencing those who wanted to be influenced. Huh?? If they...want to be influenced....doesn't that already....nevermind. Anyway, I basically came away from that session with 2 concluding saddening thoughts about many in the ALT.NET community.
- They will always be 10 steps ahead of the rest of the professional development community because they are incredibly smart, talented, and motivated.
- They will always be frustrated because they are narcissistic.
OK - maybe it was because I drank more coffee, maybe it was something else, but the day got much better as it progressed. Let's move on.
The Good - DSLs/NHibernate
I'm grouping these together because I walked in half way through the DSL talk and I just didn't take that many notes from the NHibernate talk. In fact, I think I'm just going to do bullet points here.
DSL
- I hadn't realized that Microsoft released the source code for the .NET Framework Class Library. Totally cool - especially since, as ScottGu mentioned, they shipped it with the symbols, so profiling and debugging into the framework itself is now simple.
- There was a lot of talk about DSL support in Ruby. I haven't worked in Ruby so I really can't speak to this - but now I'm curious.
- One really interesting comment that ScottGu made, regarding DSLs is to make sure that you have mastered your GPL first, as this will provide you the best platform from which to jump into DSLs.
NHibernate
- It was tough to blur the lines between where we crossed into a general DDD discussion and when we were still talking about NHibernate - particularly when we were discussing architectural patterns for DALs, etc...
- To the NHibernate team (or someone with the time to look at this on the forge) - It would be totally cool if we could get JIT loading of HBMs, or at least have the option to suppress fail-fast when building the session factory. This came out of a discussion where many in the group were expressing the pain felt when one invalid HBM file caused every unit test to fail (or nearly every view to crash) because the session factory couldn't be created.
- On that note, a MSBuild/NAnt HBM validator build task would be nice for plugging into the build.
The Rockin' - ScottGu's Show and Tell
So I haven't really had a lot of exposure to MVC in web applications (yes, I have let the whole RoR phenomenon pass me by - for shame, I know). And as a result, I really didn't see the point of the whole paradigm shift to MVC. I did DVC in MFC and it was a pain - so perhaps I was just avoiding the topic because of past aches, but for whatever reason, this was all new to me. So anyways, Scott demonstrated the new MVC framework that will be available in CTP form pretty soon. Honestly, it's pretty cool. I don't really buy into the argument that MVC is absolutely necessary to cleanly separate the logical layers of your application. I have been doing DDD for a while now and have never run into a major problem with bleeding of concerns on web projects - but maybe that's just me. However, if you're into having leaner, better controlled HTML and, more intuitive URLs, and reduced probability for concern-bleed, the MVC framework is definitely the way to go.
On a related note, let the record show that Scott Bellware is officially my favorite heckler. Scott - whenever you're in Redmond, the drinks are on me!
Back to the MVC discussion, my main next action is to see if I can actually find the bits so that I can get up to speed a bit. Who knows, maybe I'll even take the approach of one of my close friends at P&P and buy a Macbook Pro to play with RoR <g>!
The Confused - DDD
So since this post is getting long, I'm going to sum this session up with a pretty simple statement. Eric - A little help please? There continues to be a great deal of confusion and disagreement in the DDD community about some very fundamental concepts. Examples include the definition of a domain service, an application service, and the very distinctive characterics of DDD that make it different than simply good OOP heuristics.
On a closing note, I have never seen so many iPhones in one place.
I am currently the Editor-in-Chief for MSDN Magazine. I joined Microsoft in 2006 as a product planner with the certification team at Microsoft Learning. Prior to that, I spent my career as a developer and later as an architect. My main technology passions include pretty much anything on language theory, agile development, and service-oriented architecture.