New Orleans, March 18, 2003 - The first day of this conference hosted a pre-conference where .NET and the programming languages C# and VB.NET were introduced. I’ve been to many of these introductions and I have to say that this one was completely different. The level of technical content for an introduction was amazing. Perhaps it has to do with the fact that this is a small scale conference. I guess around 200 people showed up during the pre-conference. It could also mean that Microsoft believes that everybody knows about the very basics right now and that it makes sense to go ahead and introduce more cool details of the .NET environment. One of the very nice things and really something everybody should try at home is understanding how the framework works and how your programming language of choice works together with the framework. The best way to investigate that is by writing small console applications, that can show you the exact way how things are working. This is a great means of investigating both the framework and the different programming languages without the overhead of actually having to write a full blown windows application. During the introduction of the C# programming language the presenter, Jason Masterman had an interesting remark. According to Masterman C# and Visual Basic.NET might seem different at a fist glance, but they are really not that different. They both have all the Common Language Runtime features and functionality in common. Another interesting topic Masterman covered in his presentation is to be careful with cross language inheritance. In the early days of .NET this is something that was demonstrated a lot because at first it seems such a cool feature. Let developers chose their programming language of choice. Theoretically it is possible to for instance write a class in C# and inherit that class in another class, written in VB.NET. According to Masterman there are some issues with this approach, mainly because the C# compiler and the VB.NET compiler are designed by different teams within Microsoft and thus generate slightly different Intermediate Language. None of them is better than the other but they are different. Especially when implementing interfaces this might lead to problems. Without digging too much into technical detail, one statement of Masterman was funny, yet very true. He stated that the goal in life for a .NET developer is not much more than getting rid of squiggles. We don’t think about functionality or about features we actually need, as long as we don’t see squiggles any longer after compilation we are satisfied. What has changed since the old days? As long as our application compiled, we assumed the project was done with. In the .NET world this might lead to the same unexpected behavior than in the old, unmanaged world. Yes, we got lots of extra functionality at our fingertips but essentially not much has changed. Tomorrow, the Microsoft Mobility Developer Conference really takes of. Besides break-out sessions, Bill Gates will present his keynote. Make sure to check back as coverage of this conference continues. |