Overall the day was interesting and I learnt a lot about the new features available in VS2005 and .NET Framework v2.0. The following is a review of some of the information presented to us and my views of the new features available.
Visual Studio Team System
The new Visual Studio Team System looks promising, the integration of diagram design tools to allow the development of architectural diagrams together with logical deployment diagrams and the by allowing the user to test deployment scenarios.
The new class designer looks promising and at least means that class diagrams and code should forever be in sync – which is always a problem. It would be nice to see some more integrated modelling tools taking advantages of this synchronicity and maybe the ability to draw other diagrams such as State Charts and have the code behind them generated as well?
The idea behind the focus on Smart Clients seems to be helping lower the TCO for developed applications by supporting multiple different web-based distribution types and automated updating of installed applications under the Clickonce Deployment banner.
The new Master Pages look good and I can’t quite work out why they never made it into the original version! However, I can’t see myself doing any serious work using the ASP.NET toolset because it seems to want to take so much of the coding work away from you and leave you working solely on User Interface design – which would surely drive any serious programmer insane!
Visual Studio Tools for Office
The new Excel & Word project types look interesting and useful. I think that they will make the design and implementation of Word and Excel based quick applications much easier than anything I’ve previously seen when I’ve delved into the world of VBA.
New Language Features – Generics
At last, I’ll never have to write another collection class ever! Currently living in a VB6 world (Code Maintenance!) – I seem to spend a lot of my time writing safely typed collection classes so as to get compile time errors when I try and put the wrong this in my collections. To me generics on there own are a good enough reason to move to .NET for my next big project!
New IDE Features – Edit and Continue
Edit and Continue returns – All is forgiven! In my previous forays into the .NET world using VS2003 and C# I often found my self trying to Edit and Continue and I have been used to doing in the VB6 world – it seems our prayers are answered and it will be available in both VB.NET and C#.NET in VS2005.
New Language/IDE Features – C#.NET
The demonstration of the new refactoring features was a bit of a rollercoaster for me. Unfortunately it wasn’t a very good rollercoaster! The code sample used had been written using the tried and tested Copy & Paste methodology – as such the exact same code appear twice in the class definition. The demo went something like this:
- One copy of the code in question was highlighted
- The refactoring menu option selected
- The code was parsed and a function prototype suggested.
- The refactoring was applied and it all looked really good.
Then the code was scrolled down to showing the second instance of the “copy & paste” – It was still there!! .
This isn’t really much use then – apart from suggesting the function prototype for you and replacing the selected instance of code it didn’t really do much. I would prefer something that you could run which would scan the code to analyse it and find candidates for code sharing etc – at a minimum it should search the current class for similar code and refactor that too!
New Language/IDE Features- VB.NET
The most important new feature it seems in VB.NET is My – The brand new way to “Speed Dial” into the information that you want to know! I’m afraid I’m with Dan on this one (See My.IsNot.For.Me).
It seems to me like the VB.NET team sat down and thought wouldn’t it be cool if we extended the .NET framework with a new set of Static objects which exposed all the useful information that our users want to use to write there “5 line – isn’t this cool” applications. They then took there idea off to the planning meeting and had it laughed down by the more hard core programmers (The C#.NET and C++.NET teams), they were probably told that all the information was already available as this new class library wasn’t necessary – So they went off and added it as a part of the VB.NET language instead – WTF?
The new intellisense filtering has its upsides and downsides – Being presented with a shorter list sounds good but I hope it will allow you to see things in the more advanced list without having to switch to using your mouse – otherwise that will surely slow people down rather than speed them up?
C++ a first class .NET language!
At last it seems that C++ has been made a first class .NET language. It has entered the managed world as is said to be the most performant of all .NET languages – whether this true or not time will tell.
It would seem to me that the main motivation for this is the full integration of C++ within VS 2005 to allow the development of managed and unmanaged code within one tool and to remove the need to continue supporting other tools such as eVC++ for the development of C++ code for embedded devices.
Overall the day was very interesting and well presented and I was impressed with the number of topics covered and the depth in which they were covered.