ike many of you, I spend my days and nights building applications in Visual Studio .NET. I have been developing "real" applications in this tool for around a year and a half and I find some things missing from the Visual Studio .NET languages and the .NET Framework.
What things are missing? I'd like to have multiple inheritance and access to the Visual Studio .NET Framework source code. This is a call for Microsoft to add multiple inheritance and to open up the framework code.
Time and time again I hear from people that multiple inheritance is fraught with problems. In my opinion, it solves more problems than it presents. Here's my situation: I have a framework that I use to build all of my applications. In this framework, I have sub-classed a large number of Windows Forms controls. After sub-classing these controls, I implemented a number of custom interfaces for data binding, security, and other framework constructs. This results in is a lot of duplicated code. What I would like to do is create a common data-binding class and subclass a new textbox from both the textbox class and the data-binding class resulting in a class supporting properties and methods of both. So how do you resolve conflicts between overlapped properties and methods? Simple: don't allow it. Let the compiler catch the problems. We could almost implement this with a set of #INCLUDE files if the compiler would support that.
Release the Framework Code
Next I want to rant about the framework source code. Microsoft needs to let this out the door. If they don't give us a better way to extend our classes higher up the framework, then they need to give us the code so we can do it ourselves. I am not asking for a free set of source code?I am willing to pay for the code as I am sure many people out there would. Heck, I'll write a check for $1000.00 tomorrow for the code. The guys that built .NET built Delphi at Borland years ago and they gave out the source code to their classes, so why can't Microsoft do the same? Already I can hear shrieks from other developers, "What happens when a new version is released?" In years past I've had source code to several versions of accounting packages and it wasn't a problem, so why would another version of the .NET Framework be a problem?
Last month I went to PDC and saw Longhorn for the first time. (Longhorn is the next version of Microsoft Windows). I saw a lot of demos concerning a new UI format called XAML, which are program files containing XML and code. XAML files are very similar to ASP.NET files today. While these demos were cool and very preliminary, I found some flaws in the direction Microsoft is going. I didn't see a set of development tools (like VS .NET) that support creating and maintaining these files. I understand that XAML is very new and the tools aren't ready yet, but what I want to put Microsoft on point about is the fact that people are pouring tons of time into WebForms and WinForms applications. The UI's being built in today's formats are nowhere close to what I saw in XAML. Microsoft had better plan to develop a kick ass converter for ALL of our existing code. In three years I don't want to be rewriting everything again.
Whidbey, Yukon, and CoDe Magazine
As you can see, this issue is chock full of Whidbey and Yukon content. This will not be the case in the coming issues. We are a magazine for developers, and while we all want to hear about the new stuff, we primarily need to hear about things that we can use today to make our lives easier now.
We will continue to focus on VS2003 and SQL Server 2000 content with a small dose of Yukon and Whidbey each issue. We will increase our Whidbey and Yukon content as they get close to shipping.