After a short hiatus, I’m back with yet another day review of Tech Ed. Just one more after this!
The first session I attended on Day 3 was with Luke Hoban and Ted Neward and was entitled “the Busy Developer’s Guide to F#.” If you haven’t heard about F#, it is a product of Microsoft Research that “[combines] the efficiency, scripting, strong typing and productivity of ML with the stability, libraries, cross-language working and tools of .NET.” If that didn’t make sense, the gist of it is that F# is a functional language built on top of .NET. Look at the Getting started with F# page for details. The really interesting thing about F# is that the plan is that it will actually graduate from Microsoft Research and become a full blown product from Microsoft. The session itself was great - Luke did the demos while Ted did the talking basically. I’d really like to look into this more. I’ve got the latest version installed, but I haven’t written anything substantial yet.
The next session was with Jeffrey Palermo and was entitled “Architectural Concerns for ORM.” While the session was on ORM, what I really got out of it was effective communication of topics like separation of concerns and true decoupling of architecture. I’ve understood the concepts, but I am very ineffective at communicating those concerns to my coworkers. Jeffrey did an excellent job of communicating this and I appreciated that.
One of the most random things that occurred while at Tech Ed was at lunch on day 3. I sat down for lunch and a few guys sat down at the table. Every one of them had Sun badges on. Yes, Sun Microsystems, the guys who make Java. I was curious, so I asked what was going on. :-) They were there basically to see what Microsoft was up to. Makes sense I guess. I personally hadn’t coded Java since college, but it was still really interesting to talk to them. We all geeked out on Java, dynamic languages (like JRuby and IronRuby), mainframes, and horror stories about hardware (like when the sewage backed up into our computer room).
After lunch, I attended a session from James Newkirk on Unit Testing. If I were to summarize the session in a sentence, I’d call it “Reasons Why I Wrote xUnit.” James’ story is interesting because he is also one of the original authors of nUnit, which was heavily influenced by jUnit. After James left the nUnit, he decided that current thinking on testing frameworks was a little off and he and Brad Wilson created xUnit. The session was very interesting and, as a result, I’m now trying out xUnit on one of my current projects. Easily my favorite thing about xUnit is the change from the [Test] attribute to [Fact] attribute. Unit Testing, or more accurately Test Driven Development, is not really about testing, but creating specifications and design (see Behavior Driven Development which is also an attempt to drive this point home).
After the session, I went up to ask James some questions, but he needed to head down to an “Ask The Experts” session he was giving on TDD. I ended up walking down with him and Peter Provost and talked to them about testing, TDD, design, etc. for a good hour. It was really informative and I got some great advice.