ALT.NET Open Spaces, Seattle Day 2 Recap

In my previous installment of recapping the events from ALT.NET Open Spaces, Seattle, I covered pretty much the opening ceremonies as it were.  The weather was definitely interesting the entire weekend.  Who would believe that we had snow, hail and rain for most of the time we were there in the latter half of April?  Mind you it didn't stick, but if you believe in God, there is something to be said of ALT.NET coming to town.

Coverage Galore

Jeffrey Palermo was gracious enough to capture the opening ceremonies on video for all to see.  Here are some of the videos and they are well worth watching.  Really gives you an idea of how to run a good Open Spaces.  Doc did a wonderful job as a facilitator for the event.  And yes, that's me in the black coat in the background setting up for the event.
Dave Laribee also has a ton of video as well.  Most recently, the Fishbowl conversation about the polyglot programmer has been posted here.  The debate starts with Jeremy Miller, Ted Neward, Charlie Calvert, Scott Hanselman and others.  Really good conversation posted.
So, as you can see from the videos it was a pretty diverse crowd.  And, hey, we managed to get all of 5 women there too!  Peter Laudati posted the schedule here which was initialed by all who wanted to see that particular discussion.

IronRuby Session

Since John Lam wasn't around on Friday for the topic submittal, I so graciously put his name in for him.  Luckily he agreed so we were good to go for the first session.  We didn't have any canned presentations which is nice.  Instead, John focused more on how far IronRuby has yet to go.  It was interesting that he is using the Rubinius specs in order to validate IronRuby.  Also of note, it was pretty cool to see that Spec# has been used for the IronRuby compiler.

Covering Spec#

Unfortunately, the functional programming talk that I planned with Dustin Campbell was put right along side the Spec# talk, so I had to make a choice.  I picked Spec# as it was the first Open Spaces they had done.  As I said before, one of the major things I wanted to talk about was Spec# at ALT.NET.  Both Greg Young and I were pretty interested in getting Rustan Leino and Mike Barnett to show off the technology to the masses.  And what better way than to show a bunch of geeks like us this technology.  Anyhow, Mike and Rustan did a really good presentation to show off Spec# to a mass audience.  For those not familiar with Spec#, I did a whole series on this on my old blog here.  Basically, the intent of Spec# is to provide Design by Contract specifications in your classes and have that exposed to the outside world.  So, no more guessing about the preconditions, postconditions and invariants of your system, instead, we can be pretty explicit about it.

The problem that they are facing is that Spec# is not just an additive to the C# compiler, instead it's a separate compiler that is compliant with the C# 2.0 specification.  The problem is that C# 3.0 introduces a few more items, albeit mostly syntactic sugar for the most part, and yet Mike is really one of the only guys doing the Spec# compiler.  So, making it C# 3.0 compliant is a pretty daunting task.  Instead, a future focus is on making language neutral pieces available to all .NET languages just as we saw briefly in the System.Core.dll assembly under the Microsoft.Contracts namespace.  The point of inviting them was to help bring their cause to a wider audience.  Anders Hejlsberg and Mads Torgersen need to put this on their mind as to how to incorporate, and I'll make sure it's widely known.

It was great to see Scott Hanselman quite excited about the technology and hopefully you'll see more of it from him soon.  Also, stay tuned to InfoQ for more Spec# related items as well.  I intend to cover things again shortly to talk about some other new things in Spec# as well as the new release.  Stay tuned for that...

ASP.NET MVC

Phil Haack and Brad Abrams hosted a discussion on ASP.NET MVC which was pretty positive overall.  There has been a number, around 5% that Microsoft has been throwing out there as a number of people that would be adopting ASP.NET MVC over traditional web forms.  The audience was rightly skeptical of such a number and wish that they would cut it out.  Instead, it could have the effect of scaring away people from adopting this framework as their choice for ASP.NET web applications.  I can totally understand that the numbers could be there due to the ISV market which make controls for ASP.NET web forms which is something that the MVC framework doesn't support.  Another request was to support open source javascript frameworks better.  But overall, Phil and Brad were pretty receptive and it was an overall positive experience.

Are We Innovating?

Scott Hanselman convened a talk asking "Are We Innovating or Are We Just Porting?" in which that very question was asked.  If you look at the open source frameworks that exist within the .NET space, it's not hard to see what he's talking about:
  • JUnit => NUnit, MbUnit, xUnit.net
  • Hibernate => NHibernate
  • Spring => Spring.NET
  • Ruby on Rails => MonoRail
  • jMock => NMock, Rhino Mocks, Moq
  • Ant => NAnt, MSBuild
  • And the list goes on...
But when you look at the list the other way around, we really don't see it going the other way.  Is it because that in the Java world, frameworks weren't provided by Sun as they were for Microsoft?  Or was it something else?  The answer of course isn't easy and maybe it's not in the frameworks area that we need to look.  For example such applications as Paint.NET is truly innovative in my opinion.  I wouldn't have half the picture content on this blog as easily without it.  Also, some open source blogging engines work quite well as well.  So, there is innovation, but if you look to recent times, have we caught up?

To Be Continued...

kick it on DotNetKicks.com

10 Comments

  • Hi Matt,

    I guess I could answer this in better in a blog post of my own, but babies means < time :)

    I guess if we ask is the OSS space innovating we need to look around. For all the reasons that have been discussed before the space is small for Microsoft technologies and a great deal smaller than Javas or even Rubies. The folks involved are focused and have a great deal of passion and what they are creating is indeed very innovated. The larger the space however, the more projects that spring up, the larger they get and create more features and concepts. The OSS space for Microsoft technologies is growing every day so I would edge my bets on what the space will create in the coming months ahead.

    While it's true that Java and Ruby have there own frameworks for things like unit testing and mocking and the .net space has copied some concepts, a great deal of concepts we have formed of our own.

    Row testing came first in MbUnit and roughly around the same time in (Java's) TestNG, however MbUnits related TypeFxiture, Factory and Combinatorial tests are still only found in MbUnit.

    Row based testing can now be found in MbUnit, NUnit and TestNG and the related Theory concept in JUnit and XUnit.net (and also to NUnit in the coming months). MbUnit has innovated the space further in it's forth coming v3 release in how it expresses data and expressions in a row test.

    XUnit.net and Moq are also all innovating in ways way ahead of the Java counterparts.

    Andy

  • @Andy

    Point taken in regards to the innovation in .NET. I definitely agree with Moq and xUnit.net are truly innovating at this point and well ahead of JUnit and jMock and so on. We also have to consider at this point, the language innovation that has been happening in the .NET space has allowed for such things to happen such as lambdas, better generics, better attributes/annotations, etc.

    I also agree about MbUnit as well as innovating in terms of Row testing as well. I see some innovations, yet some people like to think that since these framework ideas first started in Java or Ruby, then we've just ported it.

    I think in some case that's true, but since that point, we've taken it in a much different angle than the other communities due to our language differences and style differences. Take for example Hibernate versus NHibernate, Spring versus Spring.NET.

    Matt

  • GI8HaL I appreciate you sharing this article post.Much thanks again. Fantastic.

  • Sorry for the off-topic, could you tell where I can get such a nice pattern for my blog ?!...

  • Enjoyed every bit of your blog article.Thanks Again. Fantastic.

  • Post brought me to think, went to mull over!!...

  • Looking forward to reading more. Great blog post.Thanks Again.

  • Current blog, fresh information, I read it from time to time!!...

  • Is anybody strong in radio here? We need a colleague who would tell us briefly about the transistor T2. I hope there are radio amateurs here. If it`s not on the subject at all, then I`m sorry. I have to write because I have no choice. PS: if the spelling is not right then also I'm sorry, I'm just 13 years old!...

  • Yeah, in my opinion, it is written on every fence!!...

Comments have been disabled for this content.