March 2005 - Posts
Wow... over 25 kgs in 5 months !! (that's 60lbs in old talk). Congrat's Frank !!
BTW: For the oldies amongst us, note how Frank includes "stones" as a measurement. I actually still understand people's weight best in stone, and height best in foot and inches, but for everything else I way prefer metric.. ah well.. must be showing my age
In Whidbey it appears the icon overlays in object browser are no longer there, so you can no longer visually detect which members are shared (static) and which are not.
Duncan talks about upgrading a project from VB.NET 2003 to 2005, and the default change in the rule for accessing Shared members from an instance variable. An important thing to note is that this is a compiler option ... you can turn the rule off, set it to warn, or set it to throw a compiler error.
As to the change itself, I personally don't like it. Sure using the type is usually preferable for readability, but is it for discoverability ? Let's say I have :
Dim s As String
at this point intellisense should list all the members for me. In 2002 and 2003 it does exactly that, but in 2005 it no longer does. So how exactly do I know that Concat is there, or Copy is there etc, etc ? I can look in object browser or try a hit and miss approach of typing String. and s. to see what each one lists. so discoverability is now hampered for a what really is just a pedantic rule. The rule itself can be turned off, but intellisense is NOT restored.
So although the goal may have been a good one, the way this has been implemented is very bad.
Instead, as I suggested some time ago, a better approach would have been to list shared members in intellisense (or at least make that an option) with the typical overlay of S for shared members. That way shared members could be easily detected ... discoverability is preserved (even enhanced)
And of course if it was set not to allow shared members from instance types, then the editor would replace the instance variable with the type when you select the shared member.
So it's not as much a matter of the change, but more the way this change has been implemented. Removing Shared members from intellisense for instance variables lessens discoverability.
From todays chat with Eric Rudder:
“We have heard a large number of folks ask for VB6 runtime support on Longhorn. We will do this.” [Eric Rudder]
David Burggraaf-MSFT (Expert):
Q: what is the role of native/COM C++ development going forward? Is this something that Microsoft will actively encourage and support?
A: YES! Both native C++ and COM development will be fully supported for the far distant future.
So folks there we have it:
- VB6 runtime will be supported probably till 2012 or thereabouts (Longhorn +5 + extended support from there).
- Com is still supported into the “far distant future”
- And VB6 IDE, (programming tools) is NOT supported anymore uhm… well because it’s COM based ??
Hmmm … what I miss there. VB6 runtime till 2012 , right ! C++ COM support for far distant future, right ! VB6 programming tools, FOAD, right ! Ah, of course, we are ONLY talking about preserving Microsoft’s code assets not its customers...at least not if you are a VB customer.
Wow, it's taken a while to track down one of these 9.5mm hard drives in Australia. Most places had them on back order. Anyway, yesterday I finally got my hands on one. I went for just 60 GB.
So the upgrade was from a Hitachi Travelstar 60GB to another one, the big difference being the move from an old 4200 RPM drive to a new 7200 RPM drive. The difference is huge, way more than adding a 1GB of memory made
Start up time , the time from when I do the bios boot password till windows opens and then opens an explorer window (“functional startup“), is down by at least 25%. VPC now rocks. The speed of opening most (all?) apps is also significnatly faster. Without doubt the bottle neck was the hard drive. Money well spent !!
The 7K60 is however noticeably louder. Not an annoying noise to me though. I'm not sure if the total noise is louder or just that it's more noticeable because the same noise is heard in a more compact tiem frame
Anwyay, if you have a laptop using an older hard drive, definelty consider this upgrade. It's only a couple of hundred $, and gets a big vote for best value for $$'s in my book.
This last couple of days there’s been some posts by Microsoft people trying to re-assure folks that VB6 support is going to continue for some period of time. But what they aren’t telling you is …
As some of you may know, VB6 is at SP6. That’s frozen now for time infinite despite the known problems with SP6. And yes SP6 did bring about new bugs, so installing SP6 on a system can break a happily working SP5 app.
In fact a lot of people have been deliberately staying away from SP6 because of it. Only last month or so Microsoft released an update to it’s AntiSpyware software which is written in VB6 of course. The question is which runtime did they distribute, SP5 or SP6 ?? A: SP5. Yep they don’t even trust their own last SP.
So now as Microsoft walks away from providing free service packs, and leaves us with the last set of introduced bugs, you now have to rely on all vendors to play nice with each other, and hope that Microsoft doesn’t release updates for the common components Office uses or for XP. If they do, you will need to keep different build versions for all your development to ensure they work.
Note: you are not licensed to distribute those components that ship with Office or XP.
That is, the ability to simply specify the latest service pack, and point someone to a web site is now gone.
What still exists of course is phone support (for a fee) which I’ve never had to use, and hot fixes (for a fee) which thankfully I haven’t had to use yet. As SP6 isn’t going to be fixed, and considering Office and XP will still do their own thing there, then I expect this is one that may need to be used in the not too distant future
In Rob Copeland’s first blog entry, he talks about the VB runtime being supported as part of the OS (Windows XP). When Microsoft started including the VB runtimes with the operating system it really was a great move forward for VB.
Unfortunately that is not guaranteed to go forward. For example, the VB5 runtimes were removed from windows 2003. If the same happens with Longhorn then you are kind of in deep sh*t, because the XP runtimes you might have been relying on you can’t legally distribute to other Operating Systems.
I remember at the last PDC, Microsoft made a big thing about how Longhorn is fully backward compatible with a wide range of applications, and indeed the PDC bits did have the VB6 runtime on them. But windows 2003 tells us a different story. So can we all sleep soundly now knowing our VB6 apps will continue to run and work on Longhorn, or is it as Rob said “a little confusing” ?
Wow, over 200 MVPs have signed the petition to Microsoft asking for a better road forward for VB6. Total signatories as I write this is already over 1500 !!
And reading the blogsphere there are other great names who haven’t signed the petition that also think Microsoft needs to do something better there, including Dan Appleman, Kathleen Dollard, Scott Swigart and even Microsoft’s one and only Paul Vick.
Of course there is a wide range of opinions on what Microsoft should do there to address the issue. But the real point is there is a lot of people who really feel it is up to Microsoft to address that issue !!
Personally, I recommend putting your signature on the petition to make sure Microsoft gets the message. It’s not like it is a binding contract on MS, but the key points are listed :
1. Preservation of assets
2. Continued support for the Visual Basic language
3. Ease of migration of unmanaged VB/VBA code to VB.NET
Really I think that’s what we all want, and what Visual Basic, both version 6 and .NET, need.