james said:
Herfried, I believe I see your point and the point of the petition better.
I am glad to hear that
.
One thing though, I was under the impression that VB2005 is
supposed to have better Migration Tools for VB6 code than previous
versions of VB.NET.
That's true. The migration tool will be improved. However, don't expect
too much. Even the best migration tool won't be able to provide a smooth
transition of every project, without first manipulating the VB6 project.
Maybe the migration tools won't crash as often as they do in VS.NET
2002/2003; maybe they will be faster, and maybe they will be able to convert
more code than the tools included current versions of VS. But it's
impossible to convert an object-based or procedural project to a
semantically correct object oriented project. So, the problem cannot be
solved by migration tools only. Migration tools are one way to ease
migration, but code needs a complete redesign afterwards to follow a clear
object-oriented architecture, which is the preferrable way for .NET.
Otherwise migration doesn't make much sense because it doesn't bring any
benefits.
So, at least we should be able to move older apps to VB2005 with
less difficulty than the Migration Tools that are in VB.NET 2002/2003.
Maybe the difficulty will be reduced a bit, but the core problem remains:
VB.NET is not a technological successor of VB6 (Classic VB). While VB6 was
suitable for small companies, business applications, office applications,
etc., VB.NET has been designed as an application for enterprise development.
..NET (VB.NET/C#) are not suitable tools in many situations:
<URL:
http://www.dicks-blog.com/archives/2005/03/09/support-classic-vb/#comment-9262>:
---
We’re not a programming shop, but use Excel as a programming tool to get our
jobs done: taking away VBA and replacing it with .NET is sort of like taking
away a construction worker’s hammer and replacing it with a pneumatically
driven nuclear-powered piledriver. That all we want to do is write
relatively small snippets of code and a few loops to handle daily problems
means that for us VBA is a nicely weighted and balanced hammer: from what I’ve
seen (correct me if I’m wrong!), .NET is vast overkill for the relatively
small, yet fiercely complex tasks we need it for. And we gotta learn how to
do everything all over again.
---
I think the sample above elaborates the main issue of the VB6/VBA -> .NET
migration very well.
I know that does not fix the existing problems with compatability
with WinXP and eventually Longhorn.
But, I would think at some point in time you would reach a place
where it would not make sense to just migrate older code
In many situation migration doesn't bring any advantages. Imagine a
business layer that has been implemented 8 years ago and has gone through
several development cycles. This piece of code is very stable and complete,
which means that there is no need for changing a lot in the code over the
next time. A typical solution would be to use this BL as a COM component
from a newly implemented .NET presentation layer that provides an Avalon
interface. When considering this situation, there won't be a reason for
migration of the BL at all. Migration simply doesn't make sense, because
the current VB6 implementation has been tested, it's stable and there are no
knwon flaws. By converting/rewriting the existing code in a .NET
programming language, the whole process (implementation, testing, ...) will
start again.
but, to rebuild it to work with a new OS and file system. (like
WinFS.......if it ever shows up)
When you need to access the new file system, you can either use COM
interfaces (if they exist, I think it's likely that there will exist a way
to use these features in unmanaged applications) provided by the operating
system, or implement this part of the application in a .NET class library
that would live together with the existing VB.COM project inside VS
.
One other thing, how long do you think it will be after Longhorn
actually delivers, that companies will start upgrading to the new
OS?
I don't know. Everything I could say would be speculative.
for quite some time to be worried about. I recently did some network
repair for a small company (around 30 computers and a two servers) and all
their systems(desktops) were running Win98!! The only guy there that
wrote applications for them is still using VB5 and just now thinking about
moving to VB6.
(he has it , just never uses it)
That's a typical situation which can be found in many smaller companies,
especially if they are not IT-related at all. However, newer applications
sometimes require a newer operating system, or the lack of bug fixes forces
to upgrade to a newer version of the operating system because the old one is
not supported any more.