The training itself was OK, although less intensive than the Training Camp marathon of a week or two ago. It covered a range of the features to be found in Visual Studio 2005, the development environment which current expectations suggest will be released next summer. The material covered is already pretty well known on the Web, particularly as the full beta can be downloaded by MSDN subscribers, but it was useful to go into it in a bit more depth, with hands-on labs to step us through new functionality.
I attended the "Smart Client" track, presented by Ian Griffiths, which covered Windows Forms development (i.e. the latest developments in "traditional" Windows application development), Visual Studio Tools for Office (developing applications using Word or Excel documents as a front-end) and 64-bit development. When I say "traditional", that's really from the user's point of view - from the developer's point of view, there are much more significant changes underneath. The other tracks covered ASP.NET (Web page development) and Visual Studio Team System (a whole range of integrated tools intended to flexibly support the process of development).
Given that there was just one attendee from Insights, it might have been more productive to attend the ASP.NET track, but unfortunately we selected the tracks to attend beforehand on the expectation of having two attendees - so we went for coverage of the tracks, and I was the best selection for the Smart Client track. However, it is likely that the course will be re-run and hopefully we'll get someone to cover the other track then. The Visual Studio Team System track sounded really interesting, but not so fundamental to our requirements.
There's not much chance of us making significant use of the Visual Studio Tools for Office, which would restrict our market to MS-Office-users, or of 64-bit programming - I don't expect many of our customers own 64-bit PCs. We should take some account of the 64-bit programming just to avoid trouble when 64-bit machines become more common, but it's not something our applications will directly benefit from. However, it sounds like taking basic precautions shouldn't be too hard, and a lot less painful than the move from 16-bit to 32-bit development - which thankfully I just missed out on back in the mid-nineties.
Probably most interesting from my point of view was covering the language changes in C++, C# and Visual Basic. I swapped tracks briefly for the C# and VB presentation. My prejudices against VB were confirmed by the discovery of how they are going to treat partial classes. In C#, you can now create "partial classes", which means that you can implement a class across several files by declaring it as being
partialin each file. This makes it possible to do useful things like keeping auto-generated code entirely separate from manually written code, and, perhaps, delivering something like a C++ header file of public functions with an obfuscated library, so that other developers don't have full access to all your source code.
In Visual Basic, though, you can do the same thing without having to declare the class as being
partialin every file. Maybe this doesn't sound so dreadful? Useful, even - it saves typing (or thinking)? But what happens if you, or someone else, then introduces another class of the same name, which isn't meant to be part of the partial class? The answer is that they are both merged into the same class willy-nilly, along with any ensuing confusion that may arise. In C#, a compile error would occur which would alert you to the issue and allow you to rename one of the classes.
Spending a week in a hotel was noticeably lonely, despite not being the most sociable of people and spending most of my time at home alone. The contrast with the previous week of training was a bit surprising, as I didn't have much chance to talk to my colleagues on that course anyway - a simple conversation with qidane about travel arrangements took a whole day because we were only able to snatch a few moments at a time!
At home, I guess there are more things to keep me occupied, whereas in a hotel room there's the TV and any books you may have happened to bring and that's about it.
Chertsey seems like a fairly nice small town, but without much to offer the temporary visitor. There was a museum I would have liked to visit, but it was only open at odd hours of the day when I was busy being trained. Although it's hard to gauge such things, it's probably comparable to St. Andrews in size. It may be a bit smaller, and it's definitely less classy, although my view could be coloured by the supermarket that sold me a pint of milk that was well on its way to cheese. I was strongly tempted to complain, particularly after they'd looked at my Scottish bank note as if it was a pint of milk well on its way to cheese, but in the end I just disposed of the milk and let it go. Despite looking a bit run-down commercially, it is probably more prosperous than St. Andrews - there seemed to be a lot of modern office space tucked away all over the place.
As it happens, the course was re-jigged so that it finished early. However, with a flight booked for Friday evening, there wasn't much I could do about it, so I twiddled my thumbs for much of Friday. I suppose I could have made more of the time by finding something to do in London, but without a plan prepared, inspiration failed me and I also failed to meet up with friends in Kingston, who may still be off in the USA.
Today's new icon is courtesy of South Park Create a Character.