473,401 Members | 2,125 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,401 software developers and data experts.

To VB or not to VB?

A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #1
62 5095
What existing code base and/or skills do you have in your shop ?

As a side note VB.NET is OO though it provides constructs (such as modules)
that are likely here to ease porting from earlier versions, I'm not English
but "shared" seems more meaningfull to me than "static".

He forgot to mention "just becuase I prefer C#" which would be IMO more
honest and professional et this poitn of argumentation. Finally keep in mind
that for .NET the language is just the "glue".

You should find more comprehensive discussions (for example VB.NET better
for late binding, C# better for unsafe code) by Googling...

--
Patrice

<za***@construction-imaging.com> a écrit dans le message de
news:11*********************@g43g2000cwa.googlegro ups.com...
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #2
VB.Net is a hack then, in much the same way that C# is an attempt by
Microsoft to make language solely intent on attracting Java developers
and selling a concept to early adopters who jump on buzzwords faster
than Steve Ballmer can throw a chair accross a room.

In all seriousness, though, the assessment provided by your coworker
sounds like it is based on little more than personal preference.
Personally, I use and like both. What I use is usually at the request
of a client. Currently, I am working in a full time permanent position
where we primarily use VB.Net, although I am about to start another
part time contract in C#. Both have their pros and cons. But, here
are some reasons why I think VB.Net is better than C# in certain
regards...

It is a lot easier to wire events in VB.Net than it is to set up
delegates in C#.

More advanced Catch syntax. Catch ... When is one of the coolest
things since sliced bread. Seriously. ;-)

C# is way too cast heavy.

C# has a larger following of elitist snobs, which we don't need in the
industry. ;-)

Joseph

Jan 5 '06 #3
Virtually all of our existing code is in VB6, recent code in VB.NET
with a smattering of C#.

Yes, it is obvious that this co-worker prefers C#.

Jan 5 '06 #4
Hi Z,
How about VB is known for being having the most programmers and easiest
most english like syntax of any major programming language. You can
actually show a lot of VB code to a non-programmer and they'll
understand some or all of it if they give it a fair try. If he's your
only programmer and you guys want to keep him and aren't willing to
teach him a better language then I think C# is a fine way to go. As
the years progress the largest talent pool will be more and more VB
only, so that should be considered. VB is clearly the new C++ on the
block.
Cheers,
Christian Blackburn

Jan 5 '06 #5

VB.Net-programming is more vb.NET than VB.net, no matter how
much the programmer loves the functions in the Microsoft.VisualBasic
namespace as well as the rest of the syntax that was ported from
classic VB.

Most of the time you are using portions of the .Net framework that
have nothing to do with VB anyway. The rest is just syntax.

VB has advantages over C# as well as the other way around.

Does your co-worker like curly braces? Are C#-programmers paid
better? If working with Managed DirectX, go for C#. If writing lots
of COM InterOp code, go for C#. If working with automation, go
for VB. If ...

In the "early" days of VB, it was suggested that VB6 programmers
use C# rather than VB.Net so as not to be confused by the differences
between the languages (16 vs 32-bit Integer, etc) when switching
back and forth. I come from a classic VB background and this was
no issue for me. I moved to VB.Net and such issues never affected
me.

I feel I am more productive using VB.Net and cannot think of many
instances where I would want to use C#. Only when programming
in a problem domain where most of the available documentation and
samples were made for C# do I feel that I bet on the wrong horse.

That feeling usually passes as quickly as it came.

If you are writing new VB.Net code, you can pretty much avoid
most of the "retrofitted hacks" that were introduced to entice VB6-
developers to switch. And no, I am not talking about the recent
"Rnd vs Random" discussion, but something like "On Error ...".

VB.Net is good. C# is good. There is something called "J#.Net" on
my system. That, on the other hand, I don't know anything about,
so that is probably bad :)

Google:
http://www.danappleman.com/index.php?p=27
http://www.codinghorror.com/blog/archives/000128.html
http://www.dotnet247.com/247referenc.../15/78183.aspx
....etc.

Question: I would like to have something like the C# "unsafe"
keyword. Is there an equivalent in VB2005?

/Joergen Bech

On 5 Jan 2006 06:05:22 -0800, za***@construction-imaging.com wrote:
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?


Jan 5 '06 #6
You took the words right out of my mouth ;-)

however i have this to add

Anyone who says that one of the languages is more powerfull in the terms of
VB6 vs C++ does not know what he is talking about

I use both C# and VB and just love VB more as Basic is my native tongue :-)
in my opinion VB has one main advantage above C# and that is that it is more
friendlier and thus faster to program with

regards

Michel Posseth [MCP]
"Joseph Ferris" <jo***********@gmail.com> wrote in message
news:11********************@g44g2000cwa.googlegrou ps.com...
VB.Net is a hack then, in much the same way that C# is an attempt by
Microsoft to make language solely intent on attracting Java developers
and selling a concept to early adopters who jump on buzzwords faster
than Steve Ballmer can throw a chair accross a room.

In all seriousness, though, the assessment provided by your coworker
sounds like it is based on little more than personal preference.
Personally, I use and like both. What I use is usually at the request
of a client. Currently, I am working in a full time permanent position
where we primarily use VB.Net, although I am about to start another
part time contract in C#. Both have their pros and cons. But, here
are some reasons why I think VB.Net is better than C# in certain
regards...

It is a lot easier to wire events in VB.Net than it is to set up
delegates in C#.

More advanced Catch syntax. Catch ... When is one of the coolest
things since sliced bread. Seriously. ;-)

C# is way too cast heavy.

C# has a larger following of elitist snobs, which we don't need in the
industry. ;-)

Joseph

Jan 5 '06 #7
I think saying that VB was retrofitted to fit into the .NET framework is a
fair point, and so it that a lot of the syntax is clumsy and awkward because
of that. I personally agree with that.

However, as far as every day programming, you will find that VB and C# are
really the same thing. So you use a curly brace here versus an 'End If'
there. So what? Translating from one to the other is trivial in almost all
cases.

If anyone doesn't care or understand OO programming, they are going to have
an equally big problem with both languages. A lot of VB6 programmers come to
VB.NET figuring it's really mostly the same - which it is not. And that's
where the problems come in, because they don't really understand what's
going on, and don't take the time to.

It all comes down to preference and what you are used to working with. The
power is all in the .NET framework, it doesn't matter which language you use
to get your work done.

In any case, if you do a search on Google groups, you will find a bazillion
posts of C# vs VB.

<za***@construction-imaging.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #8
<za***@construction-imaging.com> schrieb:
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

It's obvious that your co-worker is totally cueless.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>
Jan 5 '06 #9
"Joergen Bech @ post1.tele.dk>" <jbech<NOSPAMNOSPAM> schrieb:
In the "early" days of VB, it was suggested that VB6 programmers
use C# rather than VB.Net so as not to be confused by the differences
between the languages (16 vs 32-bit Integer, etc) when switching
back and forth. I come from a classic VB background and this was
no issue for me. I moved to VB.Net and such issues never affected
me.
ACK. Maybe this has been caused by the strong marketing of .NET in
conjunction with the C# programming language, mainly to attract Java
developers which have not already been Microsoft customers. VB programmers
on the other hand already used a Microsoft tool and thus it was not as
important to market VB.NET than it was for C#.
I feel I am more productive using VB.Net and cannot think of many
instances where I would want to use C#. Only when programming
in a problem domain where most of the available documentation and
samples were made for C# do I feel that I bet on the wrong horse.


Yep, same here.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Jan 5 '06 #10
I remember the days when C++ programmers looked down their noses at VB
programmers. Back then, C++ was an incredibly powerful, versatile, and
close-to-the-machine way of programming. The C++ programmers thought
they were superior, when in fact, only the tool was superior. It was a
really arrogant stance VB programmers still had to be able to figure
out what to do, which is the hardest part, and write good code, which is
the next hardest part. The major difference was in the compiler and
function libraries, and those were the real reason VB lagged behind in
performance. But anyone who was honest about it would admit that C++
was more powerful, but VB was faster for developing the User Interface.

With the introduction of .net, those major differences are pretty much
obliterated. The speed and power of C# vs VB are practically identical,
and as pointed out in several other posts, it's really a matter of
syntax preference. I like VB, and I like C#. I also like FoxPro, and
PHP, and Smalltalk, and Java, and Delphi. The real benefit of
developing in .net is you can mingle C# projects with VB projects in the
same solution. And, as Joergen pointed out, there may be the time when
one is better suited to a particular task. But to say any development
tool is the best one to use in all situations only indicates ignorance,
and I would be wary about any advice from that person.

So, if your coworker prefers to develop in C#, so be it. Let him. And
you do yours in VB.

Tom

za***@construction-imaging.com wrote:
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #11
Zack, you should consider firing your co worker for incompetence, thats my
first comment. Anyone who would say such a ludicrous thing is not rational
or is very dishonest. Whats probably going on is your co worker cannot
comprehend vb.net and wants to play a poker style "bluff" on everyone to
hide his/her incompetence. OH, vb.net is stupid, it doesnt work... when in
fact its so complicated everyone would find out his/her lack of ability by
not being able to "cope" or "keep up".

Their only shred of hope now is to disparage vb.net and make baseless
accusations. Have the person move to facilities maintenance or landscaping
and get someone interested in software development to take their place.
Well again, it depends on whether or not your company is in business to
succeed and take things seriously?

Please share my comments with him/her.
<za***@construction-imaging.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #12

Brad Rogers wrote:
Please share my comments with him/her.


For the sheer entertainment value, maybe he/she should be invited here
for a "group discussion"? ;-)

Joseph

Jan 5 '06 #13
Nice comments, all, and I appreciate them. I may regret leaping into this :-), but just some comments of my own:

"Retrofitting" makes it sound like we took the VB6 code and starting adding hooks to make it work with .NET. In actuality, not a single line of code from VB6 made it into VB .NET -- zip, zero, nada. It was entirely built from scratch. That is of course the reason why things like EnC, etc., were initially missing -- attempting to rewrite ~10 years of VB code in 3.5 years against an entirely new set of APIs was quite challenging. Of course, we wanted to make it as VB6-like as possible where *general* syntax was concerned -- hence the retention of certain odd syntax constructs like OnError as such which were just too hard to map into Try/Catch in most cases on migration -- and so those all got built in. Occasionally, the goal of matching functionality could be very tricky when weighing other directions we wanted to go, like having to retain comparison operators which didn't short-circuit, or retaining typeless coding via late-binding. But, on the other hand, it was a great opportunity to clean up what I personally viewed as problems with VB6 syntax, such as trying to remember when to use parentheses with arguments on calls to subroutines and functions, odd constructs like GoSub, and irrelevant legacies like Let/Set and so forth.

It's my hope (and belief) that VB .NET stands as a language in its own right, both as compared with VB6 and C#, and is not just some weird fusion of VB6 and .NET. But, that's for y'all to decide, I expect... :-)

--Matt Gertz--*
VB Compiler Dev Lead

-----Original Message-----
From: Marina
Posted At: Thursday, January 05, 2006 8:22 AM
Posted To: microsoft.public.dotnet.languages.vb
Conversation: To VB or not to VB?
Subject: Re: To VB or not to VB?
I think saying that VB was retrofitted to fit into the .NET framework is a
fair point, and so it that a lot of the syntax is clumsy and awkward because
of that. I personally agree with that.

However, as far as every day programming, you will find that VB and C# are
really the same thing. So you use a curly brace here versus an 'End If'
there. So what? Translating from one to the other is trivial in almost all
cases.

If anyone doesn't care or understand OO programming, they are going to have
an equally big problem with both languages. A lot of VB6 programmers come to
VB.NET figuring it's really mostly the same - which it is not. And that's
where the problems come in, because they don't really understand what's
going on, and don't take the time to.

It all comes down to preference and what you are used to working with. The
power is all in the .NET framework, it doesn't matter which language you use
to get your work done.

In any case, if you do a search on Google groups, you will find a bazillion
posts of C# vs VB.

<za***@construction-imaging.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 5 '06 #14

<za***@construction-imaging.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
:
: A co-worker where I work is proposing all future code devopment be
: done in Visual C#. Here is his assessment of VB:
:
: VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
: retrofited into the .Net framework for those people who simply don't,
: and do not care to, understand object oriented programming.
That's just pure ignorance speaking. VB.net was at least in part a response
to the VB community to make the language truly object oriented. There were
already OO like aspects in VB6 (properties, Public/Private/Friend functions,
Interface implementation, etc.) but it was sorely lacking. Now, VB
programmers have a full fledged OO language on a direct par with C# and
Java. To say the VB was created just to satisfy programmers who don't
understand OOP is simply wrong. Your co-worker literally doesn't know what
he's (she's?) talking about here.
: Quite a few of it's (features) were forced into the language through very
: ugly means to make it easier for the VB guys to bring in their code.
Of course MS wanted to make the new version of VB compatible with VB6 -
there are a lot of very good VB programmers out there and it would have been
foolish for MS to have ignored them when rolling out the .net framework.
Porting over existing VB6 programs into VB.net is generally speaking not a
trivial matter. The language serves more to allow the programmers to
leverage their existing language skills rather than force them to learn a
new language, wasting time and effort. Odds are in that case, the VB
community would have had little or nothing to do with .net as a result.
Quite frankly, .net would likely not have been nearly as successful it has
been if MS hadn't made it realistic for VB coders to move into the framework
with most of the syntax intact.
And by what standard does your co-worked define "ugly"? Which is uglier:

Option Strict
Imports System

Public Class [class]
Public Shared Sub Main(Args() As String)
For Index As Integer = 0 To 100
Console.WriteLine(Index)
Next
End Sub
End Class

or

using System;

public class Class {
public static void Main(String[] args){
for(int Index = 0; Index <= 100; Index++){
Console.WriteLine(Index);
}
}
}
Or how about this:
If var1 = 1 Then
For Index = 0 to 10
If var2 = Index Then
DoThis
Else
Select Case var3
Case "A"
DoThisToo
Case "B"
DoThisInstead
End Select
End If
Next
End If

compared to:

if(var1 == 1){
for(Index = 0; Index < 11; Index++){
if(var2 == Index){
DoThis();
}else{
switch(var3){
case "A":
DoThisToo();
break;
case "B":
DoThisInstead();
break;
}
}
}
}

I personally like the VB examples as being cleaner and easier to read - the
curly braces in particular can be very confusing when you have deeply nested
logic. VB isn't without its difficulties in this respect, but at least you
can more quickly know if you're looking at the close of an IF-THEN block or
a SELECT-CASE block. But of course that is a purely subjective opinion based
on years of experience with VB versus C or its derivatives. C++ or Java
programmers would likely prefer the C# examples.
Further, the VB compiler is tolerant of the occasional wrong use of case
(e.g.: for Index as integer = 0 to 100 complies without issue, just as it
should). Sometimes, knocking out some quick code as a test is helpful. You
can dispense with worrying about caps in VB - but C# (and C/C++ and Java)
throw a fit if you type Console.WriteLIne instead of Console.WriteLine - how
ridiculous is that?
Another problem with case sensitivity is that it can lead to the
introduction of hard to find bugs. For example, say you have two variables
myVar and myvar in a C# function. It is easy to accidentally type myvar when
you meant myVar (and vice versa) and locating the inappropriate variable
name can waste time that a VB coder doesn't have to worry about. (And let's
not even discuss how many times using = instead of == in logical compares
causes hours of wasted man hours trying to figure out why a function isn't
working correctly...)
: Things like "static" veriables and functions are called "shared"
: in VB.NET, because the keyword static was already used in VB6.
: VB.NET is loaded with these kinds of little idiocies.
Well, yeah - the Static keyword *was* already part of the language when
VB.net was introduced. Why on earth should MS have changed that? Secondly,
declaring a function or property (or what have you) as "Shared" is actually
more meaningful than "Static". Declaring a member variable as "Shared" means
it is 'shared' by all instances of the class - any changes to the variable
in one instance are visible to all others instances. This is clearer than
saying it is "static" which implies that it never changes.
When all is said and done, VB.net and C# are just languages - each do pretty
much the same things. Both languages bring strengths and weaknesses to the
table and neither is inherently better than the other - it usually comes
down to personal preference as to which language is used.
Frankly, it sounds like your co-worker is a language bigot. It's one thing
to say he/she prefers C# over VB for whatever reason - it's a totally
different thing to suggest that VB coders and VB code are somehow inherently
inferior. I've seen plenty of poor programming by VB, C++ and Java
programmers over the years (and well paid programmers at that) and I've
learned that it is never the language that is at fault; it is *always* the
programmer. Poor programmers produce poor programs, bottom line.
In the final analysis if your company or team chooses the C# route over the
VB route, that will do just fine. However, in my opinion I think you'll find
VB programmers will have a slight edge because VB's syntax is easier to read
and debug than C# - but that's just my own bias showing now.
Ralf
--
--
----------------------------------------------------------
* ^~^ ^~^ *
* _ {~ ~} {~ ~} _ *
* /_``>*< >*<''_\ *
* (\--_)++) (++(_--/) *
----------------------------------------------------------
There are no advanced students in Aikido - there are only
competent beginners. There are no advanced techniques -
only the correct application of basic principles.
Jan 6 '06 #15
Zack,
Things like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.


Before you write this, have you ever thought what Static and Shared mean.

That the C language uses a lot of keywords which are not completely covering
the subject anymore does not mean that it is the right terminologie.

If a donkey tells you that he is an horse does not mean that he is an horse.

And with this trying to answer your complete question.

Cor
Jan 6 '06 #16

<Ma***********@feedback.microsoft.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
It's my hope (and belief) that VB .NET stands as a language in its own
right, both as compared with VB6 and C#, and is not just some weird fusion
of VB6 and .NET. But, that's for y'all to decide, I expect... :-)

Do you regard VB.NET as a new language, or as a new version of VB? I'm just
curious as to your view of this.
--
Regards
Jonathan West

Jan 6 '06 #17

"_AnonCoward" <ab****@uvwxyz.com> wrote in message
news:Xi***************@tornado.southeast.rr.com...

Or how about this:
If var1 = 1 Then
For Index = 0 to 10
If var2 = Index Then
DoThis
Else
Select Case var3
Case "A"
DoThisToo
Case "B"
DoThisInstead
End Select
End If
Next
End If

compared to:

if(var1 == 1){
for(Index = 0; Index < 11; Index++){
if(var2 == Index){
DoThis();
}else{
switch(var3){
case "A":
DoThisToo();
break;
case "B":
DoThisInstead();
break;
}
}
}
}


Depends on how you write it, and personal preference/familiarity. I'm not
sure about VB.Net 2005 ... but in 2003 you couldn't do the following with VB
w/o inner loops:

for (int i = 0, j = 1, k = 2; i < 10; i++, ++j, k++) {
...
}

:P Sure, that may not look pretty...but there have been times, when it's a
lot easier / cleaner to do it like this, than use 4 or 5 more lines
(included indentation) to make the inner loops...

Anywho, I'm not bashing VB.Net. Just saying that there really are fine
points in C# as well as VB and I would recommend going with learning the
framework while learning both languages. Once you learn one, the other is
pretty darn easy to understand :)

Mythran

Jan 6 '06 #18

"Mythran" <ki********@hotmail.comREMOVETRAIL> wrote in message
news:O6**************@TK2MSFTNGP15.phx.gbl...
:
: "_AnonCoward" <ab****@uvwxyz.com> wrote in message
: news:Xi***************@tornado.southeast.rr.com...
: >
: > Or how about this:
: >
: >
: > If var1 = 1 Then
: > For Index = 0 to 10
: > If var2 = Index Then
: > DoThis
: > Else
: > Select Case var3
: > Case "A"
: > DoThisToo
: > Case "B"
: > DoThisInstead
: > End Select
: > End If
: > Next
: > End If
: >
: > compared to:
: >
: > if(var1 == 1){
: > for(Index = 0; Index < 11; Index++){
: > if(var2 == Index){
: > DoThis();
: > }else{
: > switch(var3){
: > case "A":
: > DoThisToo();
: > break;
: > case "B":
: > DoThisInstead();
: > break;
: > }
: > }
: > }
: > }
: >
: >
:
: Depends on how you write it, and personal preference/familiarity. I'm not
: sure about VB.Net 2005 ... but in 2003 you couldn't do the following with
: VB w/o inner loops:
:
: for (int i = 0, j = 1, k = 2; i < 10; i++, ++j, k++) {
: ...
: }
:
: :P Sure, that may not look pretty...but there have been times, when it's
: a lot easier / cleaner to do it like this, than use 4 or 5 more lines
: (included indentation) to make the inner loops...
:
: Anywho, I'm not bashing VB.Net. Just saying that there really are fine
: points in C# as well as VB and I would recommend going with learning the
: framework while learning both languages. Once you learn one, the other is
: pretty darn easy to understand :)
:
: Mythran
I don't dispute any of that in the least. I prefer VB.net simply because I
come from a VB6 background, no other reason. I can work with C# and even
Java if it were to come down to it (and to be honest, your example is
foreign enough to me that I wouldn't have thought to use it - I would have
nested the loops just like I would in VB; give me enough exposure to the
language in the future and that might change).
For me, the difficulty in converting to VB.net was in learning the
framework - I was already reasonably well versed in the OOP way of doing
things and once I got a handle on the framework, I was off and running. I
saw, and I still see, no reason to be forced to abandon my current language
skills in order to advance in my career. MS was smart to accommodate the VB
programmers when it rolled out .net - I'm convinced the effort would have
been a failure if they hadn't. At the very least, it would have been much
less successful - I don't think there would have been enough Java converts
to C# by themselves to make .net viable in the long run (but then, what do I
know?).
None of the CLR languages are 'better' than the others in any absolute way
and I agree it is a good idea to have at least a basic understanding of more
than just one particular language. If I ever find myself in a C# shop, I
will embrace their efforts gladly and jump right in. I'll be somewhat at a
disadvantage at first, but that won't last as I'm a pretty quick study. I
just get annoyed when language bigots spout off about VB when they clearly
don't have a clue as to what they are talking about.
Ralf
--
--
----------------------------------------------------------
* ^~^ ^~^ *
* _ {~ ~} {~ ~} _ *
* /_``>*< >*<''_\ *
* (\--_)++) (++(_--/) *
----------------------------------------------------------
There are no advanced students in Aikido - there are only
competent beginners. There are no advanced techniques -
only the correct application of basic principles.
Jan 6 '06 #19
Yes, Im okay with that. But what matters is the question about whether or
not the company is in business for real, or its just people hanging around
like some hobby.
"Joseph Ferris" <jo***********@gmail.com> wrote in message
news:11**********************@g44g2000cwa.googlegr oups.com...

Brad Rogers wrote:
Please share my comments with him/her.


For the sheer entertainment value, maybe he/she should be invited here
for a "group discussion"? ;-)

Joseph

Jan 6 '06 #20
Hmm think think ......

analogy

The wannabe programmer tells you he is a "reall" programmer cause he uses C#
but is he / she actually a programmer when he / she comes with these odd
statements ??
by the way

static
http://en.wikipedia.org/wiki/Static_...lass_Variables
the static variable of VB fits the explanation

"Some languages allow functions to retain the value of variables between
calls, so that the function can preserve its state if necessary. For
example, with a static variable a function could record the number of times
it has been executed using an internal counter. This would only otherwise be
possible using global variables or an external storage method, like a file
on disk."

regards

Michel Posseth [MCP]

"Cor Ligthert [MVP]" <no************@planet.nl> schreef in bericht
news:%2***************@TK2MSFTNGP15.phx.gbl...
Zack,
Things like "static" veriables and functions are called "shared" in
VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.


Before you write this, have you ever thought what Static and Shared mean.

That the C language uses a lot of keywords which are not completely
covering the subject anymore does not mean that it is the right
terminologie.

If a donkey tells you that he is an horse does not mean that he is an
horse.

And with this trying to answer your complete question.

Cor

Jan 6 '06 #21
some nice comparissons ( also note the link 10 reassons why C# should be
better )

http://www.vbrad.com/pf.asp?p=source/src_top_10_vb.htm

I'm surprised how easy it was for me to pick up C# . ( as my second choice
:-) ) My advice ... when you can, just work with both. . All it can do is
help and make you a better and more wanted programmer.

in a big project i currently have ( remoting BLS server ) i use both as for
some situations the examples and docu are much better in one of the 2
languages

regards

Michel Posseth [MCP]


<za***@construction-imaging.com> schreef in bericht
news:11*********************@g43g2000cwa.googlegro ups.com...
A co-worker where I work is proposing all future code devopment be done
in Visual C#. Here is his assessment of VB:

VB.NET is hack as far as the CLR(Common Language Runtime) goes. It was
retrofited into the .Net framework for those people who simply don't,
and do not care to, understand object oriented programming. Quite a
few of it's (features) were forced into the language through very ugly
means to make it easier for the VB guys to bring in their code. Things
like "static" veriables and functions are called "shared" in VB.NET,
because the keyword static was already used in VB6. VB.NET is loaded
with these kinds of little idiocies.

Any comment?

Jan 6 '06 #22
You know those movies or TV shows where it says "Inspired by So-and-so's bestselling novel?" That's pretty much how I *personally* think about the relationship between VB6 vs. VB.Net (and I am *not* speaking for my employer -- just for me) -- we've taken a great tried-and-true concept and applied it to a new medium (in this case, .NET) with (I hope) great success. The question the community has to answer is, did we create the "Harry Potter" movie (i.e., faithfully capturing the spirit of the original, while adding lots of great new value) or did we create the "A Wizard of Earthsea" miniseries (i.e., ditched everything cool and added a lot of pointless stuff besides).

Don't analyze that analogy too much, or it breaks down in obvious ways -- for instance, I truly see the process of moving from VB6 to VB.Net as an "upgrade" in every sense of the word -- and I really, *really* hope that the analogy doesn't sidetrack this thread, since I'm sure I just offended everyone who disliked the Harry Potter movie and adored the Earthsea miniseries... :-)

For me, I'm really pleased with what we've gotten done, and having originally been a finicky C++ user, I find myself having lots of fun playing around with VB .Net. (I use VB6 occasionally when dealing with legacy apps we have sitting around, and although I enjoy using it as well, it drives me bats trying to remember when to use parentheses, figuring out what's handling a thrown error, etc.)

Gotta run for a plane to get to DC for the final VS launch event, but I'll check back on Friday...

--Matt--*

-----Original Message-----
From: Jonathan West
Posted At: Friday, January 06, 2006 3:43 AM
Posted To: microsoft.public.dotnet.languages.vb
Conversation: To VB or not to VB?
Subject: Re: To VB or not to VB?

<Ma***********@feedback.microsoft.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
It's my hope (and belief) that VB .NET stands as a language in its own
right, both as compared with VB6 and C#, and is not just some weird fusion
of VB6 and .NET. But, that's for y'all to decide, I expect... :-)

Do you regard VB.NET as a new language, or as a new version of VB? I'm just
curious as to your view of this.
--
Regards
Jonathan West
Jan 10 '06 #23
Hi Matthew

I've taken your advice and not taken all that much notice of your analogies.
Perhaps I need to be clearer in the way I phrased the question. A key
distinction between a new version and a whole new language is whether
existing projects in the older version of the language are intended to be
upgraded to the new one with minimal problems.

In other words, if you regarded VB.NET as a new version, it was your
intention and expectation that the great majority of VB6 projects would
migrate to VB.NET and that this migration would proceed largely
automatically with not all that much manual rewriting to do. The code
conversion would be something around 95% automated and the manual rewrites
relatively trivial. That wouldn't preclude some changes in the syntax such
as the use of parentheses.

If you regarded VB.NET as a new language, you did not have such expectations
for easy migration of VB6 code.

It seems that there are three possible cases

1. VB.NET was intended as a new version of VB, and you think that the
necessary ease of migration has been achieved.

2. VB.NET was intended as a new version of VB, but you think that the
necessary ease of migration has not been achieved.

3. VB.NET was intended to be a new language, and ease of migration from VB6
was not a major consideration.

Which of these cases fits best with your personal view of the language?

--
Regards
Jonathan West
<Ma***********@feedback.microsoft.com> wrote in message
news:uN*************@TK2MSFTNGP12.phx.gbl...
You know those movies or TV shows where it says "Inspired by So-and-so's
bestselling novel?" That's pretty much how I *personally* think about
the relationship between VB6 vs. VB.Net (and I am *not* speaking for my
employer -- just for me) -- we've taken a great tried-and-true concept and
applied it to a new medium (in this case, .NET) with (I hope) great
success. The question the community has to answer is, did we create the
"Harry Potter" movie (i.e., faithfully capturing the spirit of the
original, while adding lots of great new value) or did we create the "A
Wizard of Earthsea" miniseries (i.e., ditched everything cool and added a
lot of pointless stuff besides).

Don't analyze that analogy too much, or it breaks down in obvious ways --
for instance, I truly see the process of moving from VB6 to VB.Net as an
"upgrade" in every sense of the word -- and I really, *really* hope that
the analogy doesn't sidetrack this thread, since I'm sure I just offended
everyone who disliked the Harry Potter movie and adored the Earthsea
miniseries... :-)

For me, I'm really pleased with what we've gotten done, and having
originally been a finicky C++ user, I find myself having lots of fun
playing around with VB .Net. (I use VB6 occasionally when dealing with
legacy apps we have sitting around, and although I enjoy using it as well,
it drives me bats trying to remember when to use parentheses, figuring out
what's handling a thrown error, etc.)

Gotta run for a plane to get to DC for the final VS launch event, but I'll
check back on Friday...

--Matt--*

-----Original Message-----
From: Jonathan West
Posted At: Friday, January 06, 2006 3:43 AM
Posted To: microsoft.public.dotnet.languages.vb
Conversation: To VB or not to VB?
Subject: Re: To VB or not to VB?

<Ma***********@feedback.microsoft.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
It's my hope (and belief) that VB .NET stands as a language in its own
right, both as compared with VB6 and C#, and is not just some weird
fusion
of VB6 and .NET. But, that's for y'all to decide, I expect... :-)

Do you regard VB.NET as a new language, or as a new version of VB? I'm
just
curious as to your view of this.
--
Regards
Jonathan West


Jan 10 '06 #24

"Jonathan West" <jw***@mvps.org> wrote in message
news:%2******************@TK2MSFTNGP14.phx.gbl...
It seems that there are three possible cases

1. VB.NET was intended as a new version of VB, and you think that the
necessary ease of migration has been achieved.

2. VB.NET was intended as a new version of VB, but you think that the
necessary ease of migration has not been achieved.

3. VB.NET was intended to be a new language, and ease of migration from
VB6 was not a major consideration.

Which of these cases fits best with your personal view of the language?


My choice is

4. VB.NET got into the hands of 'software priests' who made it much more
complex than it needed to be, with oblique references that obfuscate rather
than clarify.

Jan 13 '06 #25
3 and 4, most definitely 3 and 4.
Jan 13 '06 #26
B\0a\0c\0k\0 \0a\0n\0d\0 \0u\0n\0b\0u\0r\0i\0e\0d\0 \0f\0r\0o\0m\0 \0m\0a\0i\0l\0 \0:\0-\0)

E\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0h\0u\0g\0e\0,\0 \0h\0u\0g\0e\0 \0g\0o\0a\0l\0 \0f\0o\0r\0 \0u\0s\0 \0-\0-\0 \0a\0l\0w\0a\0y\0s\0 \0h\0a\0s\0 \0b\0e\0e\0n\0,\0 \0a\0n\0d\0 \0w\0i\0l\0l\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0b\0e\0.\0 \0 \0T\0h\0e\0 \0w\0h\0o\0l\0e\0 \0m\0a\0n\0t\0r\0a\0 \0-\0-\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0 \0-\0-\0 \0f\0o\0r\0 \0t\0h\0e\0 \0r\0e\0c\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0i\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0d\0e\0s\0i\0g\0n\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0a\0n\0d\0 \0r\0i\0g\0h\0t\0 \0d\0o\0w\0n\0 \0t\0o\0 \0t\0h\0e\0 \0p\0o\0s\0t\0e\0r\0s\0 \0c\0o\0v\0e\0r\0i\0n\0g\0 \0o\0u\0r\0 \0h\0a\0l\0l\0w\0a\0y\0 \0w\0a\0l\0l\0s\0,\0 \0w\0a\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0h\0e\0l\0p\0i\0n\0g\0 \0V\0B\06\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0m\0o\0v\0e\0 \0f\0o\0r\0w\0a\0r\0d\0.\0 \0 \0T\0h\0a\0t\0 \0i\0n\0v\0o\0l\0v\0e\0d\0:

-\0 \0M\0a\0k\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0 \0a\0n\0d\0 \0m\0o\0r\0e\0 \0r\0o\0b\0u\0s\0t\0 \0(\0n\0o\0t\0 \0b\0y\0 \0a\0d\0d\0i\0n\0g\0 \0g\0o\0s\0u\0b\0'\0s\0 \0o\0r\0 \0a\0n\0y\0t\0h\0i\0n\0g\0 \0l\0i\0k\0e\0 \0t\0h\0a\0t\0,\0 \0b\0u\0t\0 \0b\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0n\0g\0 \0o\0l\0d\0e\0r\0 \0c\0o\0d\0e\0 \0t\0o\0 \0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0)\0.
-\0 \0B\0r\0i\0n\0g\0i\0n\0g\0 \0b\0a\0c\0k\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0t\0h\0a\0t\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0 \0l\0o\0v\0e\0d\0 \0a\0n\0d\0 \0r\0e\0l\0i\0e\0d\0 \0o\0n\0 \0(\0e\0d\0i\0t\0 \0a\0n\0d\0 \0c\0o\0n\0t\0i\0n\0u\0e\0)\0 \0a\0n\0d\0 \0a\0d\0d\0i\0n\0g\0 \0s\0p\0e\0c\0i\0a\0l\0i\0z\0e\0d\0 \0h\0e\0l\0p\0 \0f\0o\0r\0 \0n\0e\0w\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0(\0e\0r\0r\0o\0r\0 \0c\0o\0r\0r\0e\0c\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0s\0)\0 \0t\0o\0 \0h\0e\0l\0p\0 \0e\0a\0s\0e\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0.
-\0 \0M\0a\0k\0i\0n\0g\0 \0a\0 \0c\0o\0m\0m\0i\0t\0m\0e\0n\0t\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0p\0o\0w\0e\0r\0f\0u\0l\0 \0t\0o\0o\0l\0s\0 \0f\0o\0r\0 \0d\0a\0t\0a\0 \0a\0c\0c\0e\0s\0s\0,\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0e\0 \0a\0 \0l\0e\0a\0p\0 \0s\0i\0m\0i\0l\0a\0r\0 \0t\0o\0 \0t\0h\0a\0t\0 \0s\0e\0e\0n\0 \0w\0i\0t\0h\0 \0V\0B\03\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0 \0w\0a\0s\0 \0d\0e\0s\0i\0g\0n\0e\0d\0 \0f\0o\0r\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0w\0o\0r\0l\0d\0.

S\0o\0,\0 \0t\0o\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0i\0n\0 \0s\0i\0m\0i\0l\0a\0r\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0s\0 \0y\0o\0u\0 \0g\0a\0v\0e\0 \0b\0e\0l\0o\0w\0:\0 \0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0a\0n\0d\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0s\0u\0c\0c\0e\0s\0s\0o\0r\0 \0o\0f\0 \0V\0B\06\0.\0 \0 \0T\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0w\0a\0s\0 \0s\0o\0m\0e\0t\0i\0m\0e\0s\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\02\0.\0 \0 \0I\0t\0 \0i\0m\0p\0r\0o\0v\0e\0d\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\03\0.\0 \0 \0I\0t\0 \0g\0o\0t\0 \0r\0a\0t\0h\0e\0r\0 \0m\0o\0r\0e\0 \0e\0a\0s\0i\0e\0r\0 \0i\0n\0 \0V\0S\0 \02\00\00\05\0,\0 \0a\0n\0d\0 \0t\0h\0e\0 \0"\0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0"\0 \0e\0v\0o\0l\0v\0e\0d\0 \0t\0o\0 \0m\0a\0t\0c\0h\0.

-\0-\0M\0a\0t\0t\0-\0-\0*

-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0T\0u\0e\0s\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\00\0,\0 \02\00\00\06\0 \09\0:\04\02\0 \0A\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0 .\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\ 0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
H\0i\0 \0M\0a\0t\0t\0h\0e\0w

I\0'\0v\0e\0 \0t\0a\0k\0e\0n\0 \0y\0o\0u\0r\0 \0a\0d\0v\0i\0c\0e\0 \0a\0n\0d\0 \0n\0o\0t\0 \0t\0a\0k\0e\0n\0 \0a\0l\0l\0 \0t\0h\0a\0t\0 \0m\0u\0c\0h\0 \0n\0o\0t\0i\0c\0e\0 \0o\0f\0 \0y\0o\0u\0r\0 \0a\0n\0a\0l\0o\0g\0i\0e\0s\0.
P\0e\0r\0h\0a\0p\0s\0 \0I\0 \0n\0e\0e\0d\0 \0t\0o\0 \0b\0e\0 \0c\0l\0e\0a\0r\0e\0r\0 \0i\0n\0 \0t\0h\0e\0 \0w\0a\0y\0 \0I\0 \0p\0h\0r\0a\0s\0e\0d\0 \0t\0h\0e\0 \0q\0u\0e\0s\0t\0i\0o\0n\0.\0 \0A\0 \0k\0e\0y
d\0i\0s\0t\0i\0n\0c\0t\0i\0o\0n\0 \0b\0e\0t\0w\0e\0e\0n\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0a\0n\0d\0 \0a\0 \0w\0h\0o\0l\0e\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0i\0s\0 \0w\0h\0e\0t\0h\0e\0r
e\0x\0i\0s\0t\0i\0n\0g\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0i\0n\0 \0t\0h\0e\0 \0o\0l\0d\0e\0r\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0r\0e\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e
u\0p\0g\0r\0a\0d\0e\0d\0 \0t\0o\0 \0t\0h\0e\0 \0n\0e\0w\0 \0o\0n\0e\0 \0w\0i\0t\0h\0 \0m\0i\0n\0i\0m\0a\0l\0 \0p\0r\0o\0b\0l\0e\0m\0s\0.

I\0n\0 \0o\0t\0h\0e\0r\0 \0w\0o\0r\0d\0s\0,\0 \0i\0f\0 \0y\0o\0u\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0V\0B\0.\0N\0E\0T\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0,\0 \0i\0t\0 \0w\0a\0s\0 \0y\0o\0u\0r
i\0n\0t\0e\0n\0t\0i\0o\0n\0 \0a\0n\0d\0 \0e\0x\0p\0e\0c\0t\0a\0t\0i\0o\0n\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0g\0r\0e\0a\0t\0 \0m\0a\0j\0o\0r\0i\0t\0y\0 \0o\0f\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0w\0o\0u\0l\0d
m\0i\0g\0r\0a\0t\0e\0 \0t\0o\0 \0V\0B\0.\0N\0E\0T\0 \0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0i\0s\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0o\0u\0l\0d\0 \0p\0r\0o\0c\0e\0e\0d\0 \0l\0a\0r\0g\0e\0l\0y
a\0u\0t\0o\0m\0a\0t\0i\0c\0a\0l\0l\0y\0 \0w\0i\0t\0h\0 \0n\0o\0t\0 \0a\0l\0l\0 \0t\0h\0a\0t\0 \0m\0u\0c\0h\0 \0m\0a\0n\0u\0a\0l\0 \0r\0e\0w\0r\0i\0t\0i\0n\0g\0 \0t\0o\0 \0d\0o\0.\0 \0T\0h\0e\0 \0c\0o\0d\0e
c\0o\0n\0v\0e\0r\0s\0i\0o\0n\0 \0w\0o\0u\0l\0d\0 \0b\0e\0 \0s\0o\0m\0e\0t\0h\0i\0n\0g\0 \0a\0r\0o\0u\0n\0d\0 \09\05\0%\0 \0a\0u\0t\0o\0m\0a\0t\0e\0d\0 \0a\0n\0d\0 \0t\0h\0e\0 \0m\0a\0n\0u\0a\0l\0 \0r\0e\0w\0r\0i\0t\0e\0s
r\0e\0l\0a\0t\0i\0v\0e\0l\0y\0 \0t\0r\0i\0v\0i\0a\0l\0.\0 \0T\0h\0a\0t\0 \0w\0o\0u\0l\0d\0n\0'\0t\0 \0p\0r\0e\0c\0l\0u\0d\0e\0 \0s\0o\0m\0e\0 \0c\0h\0a\0n\0g\0e\0s\0 \0i\0n\0 \0t\0h\0e\0 \0s\0y\0n\0t\0a\0x\0 \0s\0u\0c\0h
a\0s\0 \0t\0h\0e\0 \0u\0s\0e\0 \0o\0f\0 \0p\0a\0r\0e\0n\0t\0h\0e\0s\0e\0s\0.

I\0f\0 \0y\0o\0u\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0V\0B\0.\0N\0E\0T\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0y\0o\0u\0 \0d\0i\0d\0 \0n\0o\0t\0 \0h\0a\0v\0e\0 \0s\0u\0c\0h\0 \0e\0x\0p\0e\0c\0t\0a\0t\0i\0o\0n\0s
f\0o\0r\0 \0e\0a\0s\0y\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0V\0B\06\0 \0c\0o\0d\0e\0.

I\0t\0 \0s\0e\0e\0m\0s\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0h\0r\0e\0e\0 \0p\0o\0s\0s\0i\0b\0l\0e\0 \0c\0a\0s\0e\0s

1\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0a\0n\0d\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

2\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0n\0o\0t\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

3\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0a\0n\0d\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0r\0o\0m\0 \0V\0B\06
w\0a\0s\0 \0n\0o\0t\0 \0a\0 \0m\0a\0j\0o\0r\0 \0c\0o\0n\0s\0i\0d\0e\0r\0a\0t\0i\0o\0n\0.

W\0h\0i\0c\0h\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0c\0a\0s\0e\0s\0 \0f\0i\0t\0s\0 \0b\0e\0s\0t\0 \0w\0i\0t\0h\0 \0y\0o\0u\0r\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0?

-\0-
R\0e\0g\0a\0r\0d\0s
J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
<\0M\0a\0t\0t\0h\0e\0w\0.\0G\0e\0r\0t\0z\0@\0f\0e\ 0e\0d\0b\0a\0c\0k\0.\0m\0i\0c\0r\0o\0s\0o\0f\0t\0. \0c\0o\0m\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
n\0e\0w\0s\0:\0u\0N\0Z\0m\06\0k\0X\0F\0G\0H\0A\0.\ 01\04\00\0@\0T\0K\02\0M\0S\0F\0T\0N\0G\0P\01\02\0. \0p\0h\0x\0.\0g\0b\0l\0.\0.\0.
\0 \0Y\0o\0u\0 \0k\0n\0o\0w\0 \0t\0h\0o\0s\0e\0 \0m\0o\0v\0i\0e\0s\0 \0o\0r\0 \0T\0V\0 \0s\0h\0o\0w\0s\0 \0w\0h\0e\0r\0e\0 \0i\0t\0 \0s\0a\0y\0s\0 \0"\0I\0n\0s\0p\0i\0r\0e\0d\0 \0b\0y\0 \0S\0o\0-\0a\0n\0d\0-\0s\0o\0'\0s
\0 \0b\0e\0s\0t\0s\0e\0l\0l\0i\0n\0g\0 \0n\0o\0v\0e\0l\0?\0"\0 \0 \0 \0T\0h\0a\0t\0'\0s\0 \0p\0r\0e\0t\0t\0y\0 \0m\0u\0c\0h\0 \0h\0o\0w\0 \0I\0 \0*\0p\0e\0r\0s\0o\0n\0a\0l\0l\0y\0*\0 \0t\0h\0i\0n\0k\0 \0a\0b\0o\0u\0t
\0 \0t\0h\0e\0 \0r\0e\0l\0a\0t\0i\0o\0n\0s\0h\0i\0p\0 \0b\0e\0t\0w\0e\0e\0n\0 \0V\0B\06\0 \0v\0s\0.\0 \0V\0B\0.\0N\0e\0t\0 \0(\0a\0n\0d\0 \0I\0 \0a\0m\0 \0*\0n\0o\0t\0*\0 \0s\0p\0e\0a\0k\0i\0n\0g\0 \0f\0o\0r\0 \0m\0y
\0 \0e\0m\0p\0l\0o\0y\0e\0r\0 \0-\0-\0 \0j\0u\0s\0t\0 \0f\0o\0r\0 \0m\0e\0)\0 \0-\0-\0 \0w\0e\0'\0v\0e\0 \0t\0a\0k\0e\0n\0 \0a\0 \0g\0r\0e\0a\0t\0 \0t\0r\0i\0e\0d\0-\0a\0n\0d\0-\0t\0r\0u\0e\0 \0c\0o\0n\0c\0e\0p\0t\0 \0a\0n\0d
\0 \0a\0p\0p\0l\0i\0e\0d\0 \0i\0t\0 \0t\0o\0 \0a\0 \0n\0e\0w\0 \0m\0e\0d\0i\0u\0m\0 \0(\0i\0n\0 \0t\0h\0i\0s\0 \0c\0a\0s\0e\0,\0 \0.\0N\0E\0T\0)\0 \0w\0i\0t\0h\0 \0(\0I\0 \0h\0o\0p\0e\0)\0 \0g\0r\0e\0a\0t
\0 \0s\0u\0c\0c\0e\0s\0s\0.\0 \0 \0T\0h\0e\0 \0q\0u\0e\0s\0t\0i\0o\0n\0 \0t\0h\0e\0 \0c\0o\0m\0m\0u\0n\0i\0t\0y\0 \0h\0a\0s\0 \0t\0o\0 \0a\0n\0s\0w\0e\0r\0 \0i\0s\0,\0 \0d\0i\0d\0 \0w\0e\0 \0c\0r\0e\0a\0t\0e\0 \0t\0h\0e
\0 \0"\0H\0a\0r\0r\0y\0 \0P\0o\0t\0t\0e\0r\0"\0 \0m\0o\0v\0i\0e\0 \0(\0i\0.\0e\0.\0,\0 \0f\0a\0i\0t\0h\0f\0u\0l\0l\0y\0 \0c\0a\0p\0t\0u\0r\0i\0n\0g\0 \0t\0h\0e\0 \0s\0p\0i\0r\0i\0t\0 \0o\0f\0 \0t\0h\0e
\0 \0o\0r\0i\0g\0i\0n\0a\0l\0,\0 \0w\0h\0i\0l\0e\0 \0a\0d\0d\0i\0n\0g\0 \0l\0o\0t\0s\0 \0o\0f\0 \0g\0r\0e\0a\0t\0 \0n\0e\0w\0 \0v\0a\0l\0u\0e\0)\0 \0o\0r\0 \0d\0i\0d\0 \0w\0e\0 \0c\0r\0e\0a\0t\0e\0 \0t\0h\0e\0 \0"\0A
\0 \0W\0i\0z\0a\0r\0d\0 \0o\0f\0 \0E\0a\0r\0t\0h\0s\0e\0a\0"\0 \0m\0i\0n\0i\0s\0e\0r\0i\0e\0s\0 \0(\0i\0.\0e\0.\0,\0 \0d\0i\0t\0c\0h\0e\0d\0 \0e\0v\0e\0r\0y\0t\0h\0i\0n\0g\0 \0c\0o\0o\0l\0 \0a\0n\0d\0 \0a\0d\0d\0e\0d\0 \0a
\0 \0l\0o\0t\0 \0o\0f\0 \0p\0o\0i\0n\0t\0l\0e\0s\0s\0 \0s\0t\0u\0f\0f\0 \0b\0e\0s\0i\0d\0e\0s\0)\0.

\0 \0D\0o\0n\0'\0t\0 \0a\0n\0a\0l\0y\0z\0e\0 \0t\0h\0a\0t\0 \0a\0n\0a\0l\0o\0g\0y\0 \0t\0o\0o\0 \0m\0u\0c\0h\0,\0 \0o\0r\0 \0i\0t\0 \0b\0r\0e\0a\0k\0s\0 \0d\0o\0w\0n\0 \0i\0n\0 \0o\0b\0v\0i\0o\0u\0s\0 \0w\0a\0y\0s\0 \0-\0-
\0 \0f\0o\0r\0 \0i\0n\0s\0t\0a\0n\0c\0e\0,\0 \0I\0 \0t\0r\0u\0l\0y\0 \0s\0e\0e\0 \0t\0h\0e\0 \0p\0r\0o\0c\0e\0s\0s\0 \0o\0f\0 \0m\0o\0v\0i\0n\0g\0 \0f\0r\0o\0m\0 \0V\0B\06\0 \0t\0o\0 \0V\0B\0.\0N\0e\0t\0 \0a\0s\0 \0a\0n
\0 \0"\0u\0p\0g\0r\0a\0d\0e\0"\0 \0i\0n\0 \0e\0v\0e\0r\0y\0 \0s\0e\0n\0s\0e\0 \0o\0f\0 \0t\0h\0e\0 \0w\0o\0r\0d\0 \0-\0-\0 \0a\0n\0d\0 \0I\0 \0r\0e\0a\0l\0l\0y\0,\0 \0*\0r\0e\0a\0l\0l\0y\0*\0 \0h\0o\0p\0e\0 \0t\0h\0a\0t
\0 \0t\0h\0e\0 \0a\0n\0a\0l\0o\0g\0y\0 \0d\0o\0e\0s\0n\0'\0t\0 \0s\0i\0d\0e\0t\0r\0a\0c\0k\0 \0t\0h\0i\0s\0 \0t\0h\0r\0e\0a\0d\0,\0 \0s\0i\0n\0c\0e\0 \0I\0'\0m\0 \0s\0u\0r\0e\0 \0I\0 \0j\0u\0s\0t\0 \0o\0f\0f\0e\0n\0d\0e\0d
\0 \0e\0v\0e\0r\0y\0o\0n\0e\0 \0w\0h\0o\0 \0d\0i\0s\0l\0i\0k\0e\0d\0 \0t\0h\0e\0 \0H\0a\0r\0r\0y\0 \0P\0o\0t\0t\0e\0r\0 \0m\0o\0v\0i\0e\0 \0a\0n\0d\0 \0a\0d\0o\0r\0e\0d\0 \0t\0h\0e\0 \0E\0a\0r\0t\0h\0s\0e\0a
\0 \0m\0i\0n\0i\0s\0e\0r\0i\0e\0s\0.\0.\0.\0 \0:\0-\0)

\0 \0F\0o\0r\0 \0m\0e\0,\0 \0I\0'\0m\0 \0r\0e\0a\0l\0l\0y\0 \0p\0l\0e\0a\0s\0e\0d\0 \0w\0i\0t\0h\0 \0w\0h\0a\0t\0 \0w\0e\0'\0v\0e\0 \0g\0o\0t\0t\0e\0n\0 \0d\0o\0n\0e\0,\0 \0a\0n\0d\0 \0h\0a\0v\0i\0n\0g
\0 \0o\0r\0i\0g\0i\0n\0a\0l\0l\0y\0 \0b\0e\0e\0n\0 \0a\0 \0f\0i\0n\0i\0c\0k\0y\0 \0C\0+\0+\0 \0u\0s\0e\0r\0,\0 \0I\0 \0f\0i\0n\0d\0 \0m\0y\0s\0e\0l\0f\0 \0h\0a\0v\0i\0n\0g\0 \0l\0o\0t\0s\0 \0o\0f\0 \0f\0u\0n
\0 \0p\0l\0a\0y\0i\0n\0g\0 \0a\0r\0o\0u\0n\0d\0 \0w\0i\0t\0h\0 \0V\0B\0 \0.\0N\0e\0t\0.\0 \0 \0(\0I\0 \0u\0s\0e\0 \0V\0B\06\0 \0o\0c\0c\0a\0s\0i\0o\0n\0a\0l\0l\0y\0 \0w\0h\0e\0n\0 \0d\0e\0a\0l\0i\0n\0g\0 \0w\0i\0t\0h
\0 \0l\0e\0g\0a\0c\0y\0 \0a\0p\0p\0s\0 \0w\0e\0 \0h\0a\0v\0e\0 \0s\0i\0t\0t\0i\0n\0g\0 \0a\0r\0o\0u\0n\0d\0,\0 \0a\0n\0d\0 \0a\0l\0t\0h\0o\0u\0g\0h\0 \0I\0 \0e\0n\0j\0o\0y\0 \0u\0s\0i\0n\0g\0 \0i\0t\0 \0a\0s\0 \0w\0e\0l\0l\0,
\0 \0i\0t\0 \0d\0r\0i\0v\0e\0s\0 \0m\0e\0 \0b\0a\0t\0s\0 \0t\0r\0y\0i\0n\0g\0 \0t\0o\0 \0r\0e\0m\0e\0m\0b\0e\0r\0 \0w\0h\0e\0n\0 \0t\0o\0 \0u\0s\0e\0 \0p\0a\0r\0e\0n\0t\0h\0e\0s\0e\0s\0,\0 \0f\0i\0g\0u\0r\0i\0n\0g\0 \0o\0u\0t
\0 \0w\0h\0a\0t\0'\0s\0 \0h\0a\0n\0d\0l\0i\0n\0g\0 \0a\0 \0t\0h\0r\0o\0w\0n\0 \0e\0r\0r\0o\0r\0,\0 \0e\0t\0c\0.\0)

\0 \0G\0o\0t\0t\0a\0 \0r\0u\0n\0 \0f\0o\0r\0 \0a\0 \0p\0l\0a\0n\0e\0 \0t\0o\0 \0g\0e\0t\0 \0t\0o\0 \0D\0C\0 \0f\0o\0r\0 \0t\0h\0e\0 \0f\0i\0n\0a\0l\0 \0V\0S\0 \0l\0a\0u\0n\0c\0h\0 \0e\0v\0e\0n\0t\0,\0 \0b\0u\0t\0 \0I\0'\0l\0l
\0 \0c\0h\0e\0c\0k\0 \0b\0a\0c\0k\0 \0o\0n\0 \0F\0r\0i\0d\0a\0y\0.\0.\0.

\0 \0-\0-\0M\0a\0t\0t\0-\0-\0*

\0 \0-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
\0 \0F\0r\0o\0m\0:\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
\0 \0P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0F\0r\0i\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \00\06\0,\0 \02\00\00\06\0 \03\0:\04\03\0 \0A\0M
\0 \0P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0 .\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\ 0.\0v\0b
\0 \0C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
\0 \0S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?

\0 \0<\0M\0a\0t\0t\0h\0e\0w\0.\0G\0e\0r\0t\0z\0@\0f\0 e\0e\0d\0b\0a\0c\0k\0.\0m\0i\0c\0r\0o\0s\0o\0f\0t\ 0.\0c\0o\0m\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
\0 \0n\0e\0w\0s\0:\0%\02\03\0K\0l\0y\0i\0G\0l\0E\0G\0 H\0A\0.\02\00\07\02\0@\0T\0K\02\0M\0S\0F\0T\0N\0G\ 0P\01\00\0.\0p\0h\0x\0.\0g\0b\0l\0.\0.\0.

\0>\0 \0I\0t\0'\0s\0 \0m\0y\0 \0h\0o\0p\0e\0 \0(\0a\0n\0d\0 \0b\0e\0l\0i\0e\0f\0)\0 \0t\0h\0a\0t\0 \0V\0B\0 \0.\0N\0E\0T\0 \0s\0t\0a\0n\0d\0s\0 \0a\0s\0 \0a\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0i\0n\0 \0i\0t\0s\0 \0o\0w\0n
\0>\0 \0r\0i\0g\0h\0t\0,\0 \0b\0o\0t\0h\0 \0a\0s\0 \0c\0o\0m\0p\0a\0r\0e\0d\0 \0w\0i\0t\0h\0 \0V\0B\06\0 \0a\0n\0d\0 \0C\0#\0,\0 \0a\0n\0d\0 \0i\0s\0 \0n\0o\0t\0 \0j\0u\0s\0t\0 \0s\0o\0m\0e\0 \0w\0e\0i\0r\0d
\0>\0 \0f\0u\0s\0i\0o\0n
\0>\0 \0o\0f\0 \0V\0B\06\0 \0a\0n\0d\0 \0.\0N\0E\0T\0.\0 \0 \0B\0u\0t\0,\0 \0t\0h\0a\0t\0'\0s\0 \0f\0o\0r\0 \0y\0'\0a\0l\0l\0 \0t\0o\0 \0d\0e\0c\0i\0d\0e\0,\0 \0I\0 \0e\0x\0p\0e\0c\0t\0.\0.\0.\0 \0:\0-\0)
\0 \0D\0o\0 \0y\0o\0u\0 \0r\0e\0g\0a\0r\0d\0 \0V\0B\0.\0N\0E\0T\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0o\0r\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0?\0 \0I\0'\0m
\0 \0j\0u\0s\0t
\0 \0c\0u\0r\0i\0o\0u\0s\0 \0a\0s\0 \0t\0o\0 \0y\0o\0u\0r\0 \0v\0i\0e\0w\0 \0o\0f\0 \0t\0h\0i\0s\0.
\0 \0-\0-
\0 \0R\0e\0g\0a\0r\0d\0s
\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t

Jan 17 '06 #27
Matthew,

<Ma***********@feedback.microsoft.com> schrieb:
B a c k a n d u n b u r i e d f r o m m a i l : - )

E a s e o f m i g r a t i o n i s a h u g e , h u g e g o a
l f o r u s - - a l w a y s h a s b e e n , a n d w i l l
c o n t i n u e t o b e . T h e w h o l e m a n t r a - -
t h e p r i m a r y m i s s i o n - - f o r t h e r e c e n t
v e r s i o n o f V B , i n p l a n n i n g m e e t i n g s ,
d e s i g n m e e t i n g s , a n d r i g h t d o w n t o t h
e p o s t e r s c o v e r i n g o u r h a l l w a y w a l l s ,
w a s a l l a b o u t h e l p i n g V B 6 c u s t o m e r s m
o v e f o r w a r d . T h a t i n v o l v e d :


I'm wondering what the problem with your newsreader is...

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Jan 17 '06 #28
G\0o\0o\0d\0n\0e\0s\0s\0,\0 \0I\0 \0h\0o\0p\0e\0 \0n\0o\0t\0 \0(\0l\0o\0o\0k\0 \0o\0f\0 \0a\0l\0a\0r\0m\0)\0!\0 \0 \0T\0h\0e\0 \0i\0m\0p\0l\0i\0c\0a\0t\0i\0o\0n\0 \0o\0f\0 \0t\0h\0a\0t\0 \0i\0s\0 \0t\0h\0a\0t\0 \0w\0e\0 \0m\0a\0k\0e\0 \0d\0e\0c\0i\0s\0i\0o\0n\0s\0 \0i\0n\0 \0a\0 \0v\0a\0c\0u\0u\0m\0,\0 \0w\0h\0i\0c\0h\0 \0i\0s\0 \0t\0r\0u\0l\0y\0 \0n\0o\0t\0 \0t\0h\0e\0 \0c\0a\0s\0e\0.\0 \0 \0B\0u\0t\0 \0i\0t\0 \0h\0e\0l\0p\0s\0 \0u\0s\0 \0t\0o\0 \0u\0n\0d\0e\0r\0s\0t\0a\0n\0d\0 \0b\0e\0t\0t\0e\0r\0 \0(\0a\0n\0d\0 \0m\0a\0k\0e\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0)\0 \0w\0h\0e\0n\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0l\0e\0t\0 \0u\0s\0 \0k\0n\0o\0w\0 \0w\0h\0i\0c\0h\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0 \0i\0n\0 \0V\0B\0 \0a\0r\0e\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0(\0w\0h\0i\0c\0h\0,\0 \0f\0r\0a\0n\0k\0l\0y\0,\0 \0i\0s\0 \0w\0h\0y\0 \0I\0'\0m\0 \0o\0n\0 \0t\0h\0i\0s\0 \0n\0e\0w\0s\0g\0r\0o\0u\0p\0)\0.\0 \0 \0T\0h\0e\0r\0e\0 \0a\0r\0e\0 \0f\0o\0u\0r\0 \0a\0r\0e\0a\0s\0 \0t\0o\0 \0c\0o\0n\0s\0i\0d\0e\0r\0:

(\01\0)\0 \0T\0h\0e\0 \0a\0c\0t\0u\0a\0l\0 \0V\0B\0 \0s\0y\0n\0t\0a\0x
(\02\0)\0 \0T\0h\0e\0 \0V\0B\0 \0r\0u\0n\0t\0i\0m\0e\0 \0(\0M\0i\0c\0r\0o\0s\0o\0f\0t\0.\0V\0i\0s\0u\0a\0 l\0B\0a\0s\0i\0c\0)\0 \0w\0h\0i\0c\0h\0 \0w\0r\0a\0p\0s\0 \0s\0o\0m\0e\0 \0o\0f\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0,\0 \0a\0n\0d\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0c\0o\0v\0e\0r\0 \0m\0u\0c\0h\0 \0o\0f\0 \0w\0h\0a\0t\0 \0t\0h\0e\0 \0V\0B\06\0 \0r\0u\0n\0t\0i\0m\0t\0e\0 \0l\0i\0b\0r\0a\0r\0y\0 \0d\0i\0d\0.
(\03\0)\0 \0T\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0,\0 \0w\0h\0i\0c\0h\0 \0i\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0c\0o\0v\0e\0r\0 \0m\0o\0s\0t\0 \0o\0f\0 \0w\0h\0a\0t\0 \0y\0o\0u\0 \0u\0s\0e\0d\0 \0t\0o\0 \0u\0s\0e\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0 \0t\0o\0 \0g\0e\0t\0 \0t\0o\0.
(\04\0)\0 \0T\0h\0e\0 \0a\0c\0t\0u\0a\0l\0 \0c\0o\0d\0i\0n\0g\0 \0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0 \0i\0t\0s\0e\0l\0f\0 \0-\0-\0 \0i\0.\0e\0.\0,\0 \0t\0h\0e\0 \0e\0d\0i\0t\0o\0r\0 \0a\0n\0d\0 \0a\0s\0s\0o\0c\0i\0a\0t\0e\0d\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0.
F\0o\0r\0 \0(\01\0)\0,\0 \0I\0 \0v\0i\0e\0w\0 \0w\0h\0a\0t\0 \0w\0e\0 \0c\0h\0a\0n\0g\0e\0d\0 \0a\0s\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0f\0o\0r\0 \0a\0 \0t\0r\0u\0e\0 \0o\0b\0j\0e\0c\0t\0-\0o\0r\0i\0e\0n\0t\0e\0d\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0w\0h\0i\0c\0h\0 \0i\0n\0 \0t\0u\0r\0n\0 \0i\0s\0 \0r\0e\0q\0u\0i\0r\0e\0d\0 \0t\0o\0 \0i\0n\0t\0e\0r\0a\0c\0t\0 \0p\0r\0o\0p\0e\0r\0l\0y\0 \0w\0i\0t\0h\0 \0a\0n\0 \0o\0b\0j\0e\0c\0t\0-\0o\0r\0i\0e\0n\0t\0e\0d\0 \0A\0P\0I\0 \0l\0a\0y\0e\0r\0 \0s\0u\0c\0h\0 \0a\0s\0 \0t\0h\0e\0 \0.\0N\0E\0T\0 \0f\0r\0a\0m\0e\0w\0o\0r\0k\0.\0 \0 \0T\0h\0e\0 \0d\0i\0f\0f\0e\0r\0e\0n\0c\0e\0 \0b\0e\0t\0w\0e\0e\0n\0 \0V\0B\06\0 \0a\0n\0d\0 \0V\0B\0.\0N\0E\0T\0 \0s\0y\0n\0t\0a\0x\0 \0i\0s\0n\0'\0t\0 \0n\0e\0a\0r\0l\0y\0 \0a\0s\0 \0s\0t\0r\0i\0k\0i\0n\0g\0 \0a\0s\0 \0t\0h\0e\0 \0d\0i\0f\0f\0e\0r\0e\0n\0c\0e\0 \0b\0e\0t\0w\0e\0e\0n\0 \0B\0A\0S\0I\0C\0 \0a\0n\0d\0 \0V\0B\06\0,\0 \0s\0o\0 \0I\0M\0O\0 \0t\0h\0i\0s\0 \0i\0s\0 \0j\0u\0s\0t\0 \0e\0v\0o\0l\0u\0t\0i\0o\0n\0,\0 \0a\0n\0d\0 \0I\0 \0d\0o\0n\0'\0t\0 \0t\0h\0i\0n\0k\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0 \0i\0s\0 \0s\0t\0e\0e\0p\0 \0b\0e\0t\0w\0e\0e\0n\0 \0t\0h\0e\0 \0t\0w\0o\0.\0 \0(\0Y\0o\0u\0 \0m\0a\0y\0 \0n\0o\0t\0 \0i\0m\0m\0e\0d\0i\0a\0t\0e\0l\0y\0 \0g\0r\0o\0k\0 \0o\0p\0e\0r\0a\0t\0o\0r\0 \0o\0v\0e\0r\0l\0o\0a\0d\0i\0n\0g\0,\0 \0g\0e\0n\0e\0r\0i\0c\0s\0,\0 \0e\0t\0c\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0d\0o\0n\0'\0t\0 \0n\0e\0c\0e\0s\0s\0a\0r\0i\0l\0y\0 \0n\0e\0e\0d\0 \0t\0o\0 \0r\0i\0g\0h\0t\0 \0a\0w\0a\0y\0,\0 \0e\0s\0p\0e\0c\0i\0a\0l\0l\0y\0 \0i\0f\0 \0y\0o\0u\0'\0r\0e\0 \0p\0o\0r\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0.\0)\0 \0 \0N\0e\0v\0e\0r\0t\0h\0e\0l\0e\0s\0s\0,\0 \0s\0y\0n\0t\0a\0x\0 \0i\0s\0 \0o\0n\0e\0 \0a\0r\0e\0a\0 \0w\0h\0e\0r\0e\0 \0w\0e\0 \0m\0a\0d\0e\0 \0s\0u\0r\0e\0 \0t\0h\0a\0t\0 \0w\0e\0 \0g\0o\0t\0 \0l\0o\0a\0d\0s\0 \0o\0f\0 \0f\0e\0e\0d\0b\0a\0c\0k\0 \0b\0e\0f\0o\0r\0e\0 \0s\0h\0i\0p\0p\0i\0n\0g\0,\0 \0a\0n\0d\0 \0i\0n\0 \0m\0a\0n\0y\0 \0c\0a\0s\0e\0s\0 \0c\0h\0a\0n\0g\0e\0d\0 \0t\0h\0e\0 \0f\0i\0n\0a\0l\0 \0s\0y\0n\0t\0a\0x\0 \0b\0a\0s\0e\0d\0 \0o\0n\0 \0f\0e\0e\0d\0b\0a\0c\0k\0.

F\0o\0r\0 \0(\02\0)\0,\0 \0w\0e\0 \0o\0f\0t\0e\0n\0 \0t\0h\0i\0n\0k\0 \0a\0b\0o\0u\0t\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0m\0o\0r\0e\0 \0c\0o\0d\0e\0 \0i\0n\0 \0t\0h\0e\0 \0M\0S\0.\0V\0B\0 \0l\0i\0b\0r\0a\0r\0y\0 \0o\0r\0 \0s\0i\0m\0i\0l\0a\0r\0 \0d\0e\0v\0i\0c\0e\0 \0w\0h\0i\0c\0h\0 \0f\0e\0e\0l\0s\0 \0v\0e\0r\0y\0 \0V\0B\0-\0i\0s\0h\0.\0 \0 \0W\0e\0'\0v\0e\0 \0a\0d\0d\0r\0e\0s\0s\0e\0d\0 \0t\0h\0i\0s\0 \0a\0 \0b\0i\0t\0 \0b\0y\0 \0a\0d\0d\0i\0n\0g\0 \0t\0h\0e\0 \0"\0M\0y\0"\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0a\0n\0d\0 \0t\0o\0 \0s\0o\0m\0e\0 \0e\0x\0t\0e\0n\0t\0 \0w\0i\0t\0h\0 \0s\0n\0i\0p\0p\0e\0t\0s\0,\0 \0a\0n\0d\0 \0w\0e\0 \0w\0i\0l\0l\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0d\0o\0 \0s\0o\0,\0 \0b\0u\0t\0 \0o\0n\0e\0 \0o\0f\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0g\0o\0a\0l\0s\0 \0f\0o\0r\0 \0M\0S\0.\0V\0B\0 \0i\0s\0 \0t\0o\0 \0h\0e\0l\0p\0 \0w\0i\0t\0h\0 \0V\0B\06\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0n\0d\0 \0p\0r\0o\0v\0i\0d\0e\0 \0f\0a\0m\0i\0l\0i\0a\0r\0-\0l\0o\0o\0k\0i\0n\0g\0 \0a\0n\0d\0 \0f\0a\0m\0i\0l\0i\0a\0r\0-\0a\0c\0t\0i\0n\0g\0 \0m\0e\0t\0h\0o\0d\0s\0 \0f\0o\0r\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0.

F\0o\0r\0 \0(\03\0)\0,\0 \0t\0h\0e\0 \0q\0u\0e\0s\0t\0i\0o\0n\0 \0h\0e\0r\0e\0 \0i\0s\0 \0h\0o\0w\0 \0o\0f\0t\0e\0n\0 \0y\0o\0u\0 \0n\0e\0e\0d\0 \0t\0o\0 \0g\0o\0 \0"\0m\0i\0n\0i\0n\0g\0"\0 \0t\0o\0 \0f\0i\0n\0d\0 \0s\0o\0m\0e\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0,\0 \0a\0n\0d\0 \0h\0o\0w\0 \0o\0f\0t\0e\0n\0 \0y\0o\0u\0 \0t\0h\0r\0o\0w\0 \0u\0p\0 \0y\0o\0u\0r\0 \0h\0a\0n\0d\0s\0 \0a\0n\0d\0 \0s\0i\0m\0p\0l\0y\0 \0c\0r\0e\0a\0t\0e\0 \0a\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0 \0t\0o\0 \0s\0o\0m\0e\0 \0w\0e\0l\0l\0-\0k\0n\0o\0w\0n\0 \0(\0b\0u\0t\0 \0p\0r\0o\0b\0a\0b\0l\0y\0 \0l\0e\0s\0s\0 \0s\0e\0c\0u\0r\0e\0)\0 \0W\0i\0n\0d\0o\0w\0s\0 \0A\0P\0I\0 \0t\0h\0a\0t\0 \0y\0o\0u\0'\0r\0e\0 \0f\0a\0m\0i\0l\0i\0a\0r\0 \0w\0i\0t\0h\0.\0 \0 \0T\0h\0a\0t\0'\0s\0 \0s\0o\0m\0e\0t\0h\0i\0n\0g\0 \0t\0h\0a\0t\0 \0I\0 \0w\0o\0u\0l\0d\0 \0v\0e\0r\0y\0 \0m\0u\0c\0h\0 \0l\0i\0k\0e\0 \0t\0o\0 \0h\0e\0a\0r\0 \0m\0o\0r\0e\0 \0o\0f\0 \0f\0r\0o\0m\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0.

F\0r\0o\0m\0 \0(\04\0)\0,\0 \0t\0h\0i\0s\0 \0i\0s\0 \0w\0h\0a\0t\0 \0w\0e\0 \0t\0r\0i\0e\0d\0 \0t\0o\0 \0a\0d\0d\0r\0e\0s\0s\0 \0w\0i\0t\0h\0 \0e\0d\0i\0t\0 \0a\0n\0d\0 \0c\0o\0n\0t\0i\0n\0u\0e\0,\0 \0d\0e\0s\0i\0g\0n\0 \0t\0i\0m\0e\0 \0e\0x\0p\0r\0e\0s\0s\0i\0o\0n\0 \0e\0v\0a\0l\0u\0a\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0 \0m\0a\0n\0a\0g\0e\0m\0e\0n\0t\0,\0 \0I\0n\0t\0e\0l\0l\0i\0S\0e\0n\0s\0e\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0,\0 \0e\0t\0c\0.\0 \0 \0A\0l\0l\0 \0U\0I\0 \0g\0o\0e\0s\0 \0t\0h\0r\0o\0u\0g\0h\0 \0u\0s\0a\0b\0i\0l\0i\0t\0y\0 \0l\0a\0b\0s\0 \0(\0w\0h\0e\0r\0e\0 \0w\0e\0 \0b\0r\0i\0n\0g\0 \0i\0n\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0a\0n\0d\0 \0l\0e\0t\0 \0t\0h\0e\0m\0 \0t\0r\0y\0 \0o\0u\0t\0 \0p\0r\0o\0t\0o\0t\0y\0p\0e\0s\0 \0o\0r\0 \0a\0l\0p\0h\0a\0 \0c\0o\0d\0e\0)\0,\0 \0a\0n\0d\0 \0t\0h\0i\0s\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0g\0e\0t\0s\0 \0a\0d\0j\0u\0s\0t\0e\0d\0 \0q\0u\0i\0t\0e\0 \0a\0 \0l\0o\0t\0.\0 \0 \0(\0W\0e\0 \0d\0o\0 \0t\0h\0i\0s\0 \0f\0o\0r\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \03\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0p\0o\0i\0n\0t\0s\0 \0a\0s\0 \0w\0e\0l\0l\0,\0 \0a\0n\0d\0 \0I\0 \0d\0o\0n\0'\0t\0 \0m\0e\0a\0n\0 \0t\0o\0 \0i\0m\0p\0l\0y\0 \0o\0t\0h\0e\0r\0w\0i\0s\0e\0,\0 \0b\0u\0t\0 \0p\0e\0o\0p\0l\0e\0 \0t\0e\0n\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0m\0o\0s\0t\0 \0v\0e\0r\0b\0o\0s\0e\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0i\0r\0 \0d\0e\0v\0e\0l\0o\0p\0m\0e\0n\0t\0 \0e\0n\0v\0i\0r\0o\0n\0m\0e\0n\0t\0 \0-\0-\0 \0"\0A\0r\0g\0,\0 \0w\0h\0e\0r\0e\0'\0s\0 \0t\0h\0a\0t\0 \0b\0u\0t\0t\0o\0n\0 \0t\0h\0a\0t\0 \0I\0'\0m\0 \0u\0s\0e\0d\0 \0t\0o\0 \0c\0l\0i\0c\0k\0i\0n\0g\0!\0!\0!\0!\0"\0)

O\0v\0e\0r\0l\0a\0y\0i\0n\0g\0 \0a\0l\0l\0 \0o\0f\0 \0t\0h\0i\0s\0 \0i\0s\0 \0t\0h\0a\0t\0 \0f\0a\0c\0t\0 \0t\0h\0a\0t\0 \0V\0B\0 \0(\0i\0n\0 \0s\0o\0m\0e\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0r\0 \0a\0n\0o\0t\0h\0e\0r\0)\0 \0i\0s\0 \0u\0s\0e\0d\0 \0b\0y\0 \0m\0i\0l\0l\0i\0o\0n\0s\0 \0o\0f\0 \0p\0e\0o\0p\0l\0e\0,\0 \0a\0n\0d\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0v\0e\0r\0y\0 \0d\0i\0f\0f\0e\0r\0e\0n\0t\0 \0a\0n\0d\0 \0d\0e\0f\0i\0n\0i\0t\0e\0 \0c\0a\0m\0p\0s\0 \0a\0m\0o\0n\0g\0 \0t\0h\0o\0s\0e\0 \0u\0s\0e\0r\0s\0 \0r\0e\0g\0a\0r\0d\0i\0n\0g\0 \0t\0h\0e\0 \0d\0i\0r\0e\0c\0t\0i\0o\0n\0 \0t\0h\0a\0t\0 \0V\0B\0 \0s\0h\0o\0u\0l\0d\0 \0g\0o\0 \0a\0s\0 \0a\0 \0l\0a\0n\0g\0u\0a\0g\0e\0.\0 \0 \0F\0o\0r\0 \0e\0x\0a\0m\0p\0l\0e\0,\0 \0f\0o\0r\0 \0e\0v\0e\0r\0y\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0w\0o\0n\0d\0e\0r\0e\0d\0 \0w\0h\0y\0 \0w\0e\0 \0w\0a\0s\0t\0e\0d\0 \0t\0i\0m\0e\0 \0i\0m\0p\0l\0e\0m\0e\0n\0t\0i\0n\0g\0 \0g\0e\0n\0e\0r\0i\0c\0s\0 \0i\0n\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0n\0o\0t\0h\0e\0r\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0s\0w\0e\0a\0r\0s\0 \0t\0h\0a\0t\0 \0V\0B\0 \0w\0i\0l\0l\0 \0b\0e\0 \0l\0e\0f\0t\0 \0b\0e\0h\0i\0n\0d\0 \0a\0 \0r\0e\0a\0l\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0i\0f\0 \0w\0e\0 \0d\0o\0n\0'\0t\0 \0d\0o\0 \0m\0o\0r\0e\0 \0w\0i\0t\0h\0 \0g\0e\0n\0e\0r\0i\0c\0s\0.\0 \0 \0F\0o\0r\0 \0e\0v\0e\0r\0y\0 \0u\0s\0e\0r\0 \0w\0h\0o\0 \0h\0a\0t\0e\0s\0 \0h\0a\0v\0i\0n\0g\0 \0t\0o\0 \0d\0i\0p\0 \0a\0 \0t\0o\0e\0 \0i\0n\0t\0o\0 \0t\0h\0e\0 \0S\0y\0s\0t\0e\0m\0.\0G\0l\0o\0b\0a\0l\0i\0z\0a\0 t\0i\0o\0n\0 \0n\0a\0m\0e\0s\0p\0a\0c\0e\0,\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0n\0o\0t\0h\0e\0r\0 \0w\0h\0o\0 \0a\0b\0s\0o\0l\0u\0t\0e\0l\0y\0 \0l\0o\0v\0e\0s\0 \0b\0e\0i\0n\0g\0 \0a\0b\0l\0e\0 \0t\0o\0 \0g\0i\0v\0e\0 \0u\0p\0 \0"\0D\0e\0c\0l\0a\0r\0e\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0.\0 \0 \0B\0a\0l\0a\0n\0c\0i\0n\0g\0 \0a\0l\0l\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0i\0n\0t\0e\0r\0e\0s\0t\0s\0 \0i\0s\0 \0a\0 \0v\0e\0r\0y\0 \0c\0o\0m\0p\0l\0e\0x\0 \0p\0r\0o\0b\0l\0e\0m\0,\0 \0b\0u\0t\0 \0o\0n\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \0h\0a\0n\0d\0 \0i\0t\0'\0s\0 \0a\0 \0g\0o\0o\0d\0 \0p\0r\0o\0b\0l\0e\0m\0 \0t\0o\0 \0h\0a\0v\0e\0.

-\0-\0M\0a\0t\0t\0-\0-\0*

-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0H\0o\0m\0e\0r\0 \0J\0 \0S\0i\0m\0p\0s\0o\0n
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0F\0r\0i\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\03\0,\0 \02\00\00\06\0 \01\02\0:\00\00\0 \0P\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0 .\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\ 0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?

"\0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t\0"\0 \0<\0j\0w\0e\0s\0t\0@\0m\0v\0p\0s\0.\0o\0r\0g\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
n\0e\0w\0s\0:\0%\02\03\0b\0i\0V\0%\02\03\00\0g\0F\ 0G\0H\0A\0.\03\09\08\04\0@\0T\0K\02\0M\0S\0F\0T\0N \0G\0P\01\04\0.\0p\0h\0x\0.\0g\0b\0l\0.\0.\0.
\0 \0I\0t\0 \0s\0e\0e\0m\0s\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0h\0r\0e\0e\0 \0p\0o\0s\0s\0i\0b\0l\0e\0 \0c\0a\0s\0e\0s

\0 \01\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0a\0n\0d\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

\0 \02\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,\0 \0b\0u\0t\0 \0y\0o\0u\0 \0t\0h\0i\0n\0k\0 \0t\0h\0a\0t\0 \0t\0h\0e
\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0h\0a\0s\0 \0n\0o\0t\0 \0b\0e\0e\0n\0 \0a\0c\0h\0i\0e\0v\0e\0d\0.

\0 \03\0.\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0a\0 \0n\0e\0w\0 \0l\0a\0n\0g\0u\0a\0g\0e\0,\0 \0a\0n\0d\0 \0e\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0r\0o\0m
\0 \0V\0B\06\0 \0w\0a\0s\0 \0n\0o\0t\0 \0a\0 \0m\0a\0j\0o\0r\0 \0c\0o\0n\0s\0i\0d\0e\0r\0a\0t\0i\0o\0n\0.

\0 \0W\0h\0i\0c\0h\0 \0o\0f\0 \0t\0h\0e\0s\0e\0 \0c\0a\0s\0e\0s\0 \0f\0i\0t\0s\0 \0b\0e\0s\0t\0 \0w\0i\0t\0h\0 \0y\0o\0u\0r\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0o\0f\0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0?


M\0y\0 \0c\0h\0o\0i\0c\0e\0 \0i\0s

4\0.\0 \0V\0B\0.\0N\0E\0T\0 \0g\0o\0t\0 \0i\0n\0t\0o\0 \0t\0h\0e\0 \0h\0a\0n\0d\0s\0 \0o\0f\0 \0'\0s\0o\0f\0t\0w\0a\0r\0e\0 \0p\0r\0i\0e\0s\0t\0s\0'\0 \0w\0h\0o\0 \0m\0a\0d\0e\0 \0i\0t\0 \0m\0u\0c\0h\0 \0m\0o\0r\0e
c\0o\0m\0p\0l\0e\0x\0 \0t\0h\0a\0n\0 \0i\0t\0 \0n\0e\0e\0d\0e\0d\0 \0t\0o\0 \0b\0e\0,\0 \0w\0i\0t\0h\0 \0o\0b\0l\0i\0q\0u\0e\0 \0r\0e\0f\0e\0r\0e\0n\0c\0e\0s\0 \0t\0h\0a\0t\0 \0o\0b\0f\0u\0s\0c\0a\0t\0e\0 \0r\0a\0t\0h\0e\0r
t\0h\0a\0n\0 \0c\0l\0a\0r\0i\0f\0y\0.


Jan 17 '06 #29
Matt's reply:

---
Hmm... that's no good. Every post I'm making seems to be going out
mangled, and I can't even read my own posts at all (not even as much as
you were able to see). I'll have to track this down & see why this is
happening.

Herfried, I wondered if you would be so kind and would please do me a
favor, would you please convey my apologies to that thread, and that I
will try to get the problem fixed? I would be much obliged...

Thanks,
--Matt--*
---

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>
Jan 17 '06 #30

Not sure what's wrong but you seem to be using some sort of Unicode which is
being filtered somehow

- M a k i n g m i g r a t i o n o f e x i s t i n g V B 6

0005C0 0A 20 0D 20 0D 0A 20 2D 20 20 20 4D 20 61 20 6B ? ? ?? - M a k
0005D0 20 69 20 6E 20 67 20 20 20 6D 20 69 20 67 20 72 i n g m i g r
0005E0 20 61 20 74 20 69 20 6F 20 6E 20 20 20 6F 20 66 a t i o n o f
0005F0 20 20 20 65 20 78 20 69 20 73 20 74 20 69 20 6E e x i s t i n
000600 20 67 20 20 20 56 20 42 20 36 20 20 20 63 20 6F g V B 6 c o
000610 20 64 20 65 20 20 20 65 20 61 20 73 20 69 20 65 d e e a s i e

Using LIST Version 9.1c 1/31/95
(c) Copyright Vernon D. Buerg 1983-95

However even this can't be trusted as Word sees this data differently. The
20 20 20 sequences show up as something else!!
<Ma***********@feedback.microsoft.com> wrote in message
news:eP****************@TK2MSFTNGP14.phx.gbl...
B a c k a n d u n b u r i e d f r o m m a i l : - )

E a s e o f m i g r a t i o n i s a h u g e , h u g e g o a
l f o r u s - - a l w a y s h a s b e e n , a n d w i l l
c o n t i n u e t o b e . ...

Jan 18 '06 #31

<Ma***********@feedback.microsoft.com> wrote in message
news:eP****************@TK2MSFTNGP14.phx.gbl...
Back and unburied from mail :-)

Ease of migration is a huge, huge goal for us -- always has been, and will
continue to be.
The whole mantra -- the primary mission -- for the recent version of VB,
in planning meetings, design meetings, and right down to the posters
covering our hallway walls, was all about helping VB6 customers move
forward. That involved:
I have to say the evidence for that hasn't been terribly clear. After all,
you allowed VB6 to go off mainstream support before you brought out VS2005,
which you say has migration as its primary mission.

- Making migration of existing VB6 code easier and more robust (not by
adding gosub's or anything like that, but by translating older code to
newer constructs).
Tell me, what is the newer construct that replaces Gosub and to which Gosub
is automatically translated in the migration wizard?
- Bringing back functionality that VB6 users loved and relied on (edit and
continue) and adding specialized help for new functionality (error
correction, snippets) to help ease the learning curve.
Ah, here you are making what I suspect is a common error - confusing the
issue of migrating skills with the issue of migrating code. For those with
large VB6 projects to port, E&C in VS2005 is of little practical use unless
and until the VB6 project can actually be migrated into VS2005.That is why
my question was very specific about the migration of code.

I well remember from the time of the original launch of VS.NET that VB6
developers who raised the issue of code migration being derided (at times by
people from Microsoft) as being unable to take on new skills, when they were
in fact very clearly talking about the time and expense necessary to rewrite
existing projects. Please be aware that my questions are very specifically
about the migration of existing medium-to-large VB6 projects.
- Making a commitment to providing powerful tools for data access, to
provide a leap similar to that seen with VB3, but that was designed for the
.NET world.
That might be very useful to some people, but it is nothing at all to do
with migrating code.

So, to summarize in similar language as you gave below: VB.NET was and is
intended to be the successor of VB6. The migration path was sometimes
difficult in VB.NET 2002. It improved in VB.NET 2003. It got rather more
easier in VS 2005, and the "experience" evolved to match.

You haven't yet given me any examples of things in VS2005 that make
migrating code easier. For instance, what has been done to reduce the number
of "ToDo" statements generated by the migration wizard?

Also, when planning the migration features for VS2005, did you get in touch
with those customers who publicly criticised the migration capabilities of
earlier versions of VS.NET to see what their needs were for the purpose of
porting substantial VB6 projects to VB.NET?

Based on your statements, it would appear that, whatever your intentions,
the previous versions of VB.NET could not reasonably be regarded as a new
version of VB with migration capabilities meeting the standard I described.
Would you say that you have hit that mark with VS2005?

--
Regards
Jonathan West

Jan 18 '06 #32
(\0I\0'\0l\0l\0 \0t\0r\0y\0 \0a\0 \0p\0o\0s\0t\0 \0a\0g\0a\0i\0n\0 \0&\0 \0s\0e\0e\0 \0i\0f\0 \0t\0h\0e\0 \0n\0e\0w\0s\0r\0e\0a\0d\0e\0r\0 \0i\0s\0 \0w\0o\0r\0k\0i\0n\0g\0 \0n\0o\0w\0.\0)

C\0o\0m\0m\0e\0n\0t\0s\0 \0i\0n\0l\0i\0n\0e\0.\0.\0.


-\0-\0-\0-\0-\0O\0r\0i\0g\0i\0n\0a\0l\0 \0M\0e\0s\0s\0a\0g\0e\0-\0-\0-\0-\0-
F\0r\0o\0m\0:\0 \0J\0o\0n\0a\0t\0h\0a\0n\0 \0W\0e\0s\0t
P\0o\0s\0t\0e\0d\0 \0A\0t\0:\0 \0W\0e\0d\0n\0e\0s\0d\0a\0y\0,\0 \0J\0a\0n\0u\0a\0r\0y\0 \01\08\0,\0 \02\00\00\06\0 \09\0:\01\08\0 \0A\0M
P\0o\0s\0t\0e\0d\0 \0T\0o\0:\0 \0m\0i\0c\0r\0o\0s\0o\0f\0t\0.\0p\0u\0b\0l\0i\0c\0 .\0d\0o\0t\0n\0e\0t\0.\0l\0a\0n\0g\0u\0a\0g\0e\0s\ 0.\0v\0b
C\0o\0n\0v\0e\0r\0s\0a\0t\0i\0o\0n\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?
S\0u\0b\0j\0e\0c\0t\0:\0 \0R\0e\0:\0 \0T\0o\0 \0V\0B\0 \0o\0r\0 \0n\0o\0t\0 \0t\0o\0 \0V\0B\0?

<\0M\0a\0t\0t\0h\0e\0w\0.\0G\0e\0r\0t\0z\0@\0f\0e\ 0e\0d\0b\0a\0c\0k\0.\0m\0i\0c\0r\0o\0s\0o\0f\0t\0. \0c\0o\0m\0>\0 \0w\0r\0o\0t\0e\0 \0i\0n\0 \0m\0e\0s\0s\0a\0g\0e
n\0e\0w\0s\0:\0e\0P\0%\02\03\0R\0x\0j\05\0G\0G\0H\ 0A\0.\03\09\08\04\0@\0T\0K\02\0M\0S\0F\0T\0N\0G\0P \01\04\0.\0p\0h\0x\0.\0g\0b\0l\0.\0.\0.
\0B\0a\0c\0k\0 \0a\0n\0d\0 \0u\0n\0b\0u\0r\0i\0e\0d\0 \0f\0r\0o\0m\0 \0m\0a\0i\0l\0 \0:\0-\0)

\0E\0a\0s\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0h\0u\0g\0e\0,\0 \0h\0u\0g\0e\0 \0g\0o\0a\0l\0 \0f\0o\0r\0 \0u\0s\0 \0-\0-\0 \0a\0l\0w\0a\0y\0s\0 \0h\0a\0s\0 \0b\0e\0e\0n\0,\0 \0a\0n\0d\0 \0w\0i\0l\0l
\0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0b\0e\0.
\0 \0T\0h\0e\0 \0w\0h\0o\0l\0e\0 \0m\0a\0n\0t\0r\0a\0 \0-\0-\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0 \0-\0-\0 \0f\0o\0r\0 \0t\0h\0e\0 \0r\0e\0c\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0,
\0 \0i\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0d\0e\0s\0i\0g\0n\0 \0m\0e\0e\0t\0i\0n\0g\0s\0,\0 \0a\0n\0d\0 \0r\0i\0g\0h\0t\0 \0d\0o\0w\0n\0 \0t\0o\0 \0t\0h\0e\0 \0p\0o\0s\0t\0e\0r\0s
\0 \0c\0o\0v\0e\0r\0i\0n\0g\0 \0o\0u\0r\0 \0h\0a\0l\0l\0w\0a\0y\0 \0w\0a\0l\0l\0s\0,\0 \0w\0a\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0h\0e\0l\0p\0i\0n\0g\0 \0V\0B\06\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0m\0o\0v\0e
\0 \0f\0o\0r\0w\0a\0r\0d\0.\0 \0T\0h\0a\0t\0 \0i\0n\0v\0o\0l\0v\0e\0d\0:
I\0 \0h\0a\0v\0e\0 \0t\0o\0 \0s\0a\0y\0 \0t\0h\0e\0 \0e\0v\0i\0d\0e\0n\0c\0e\0 \0f\0o\0r\0 \0t\0h\0a\0t\0 \0h\0a\0s\0n\0'\0t\0 \0b\0e\0e\0n\0 \0t\0e\0r\0r\0i\0b\0l\0y\0 \0c\0l\0e\0a\0r\0.\0 \0A\0f\0t\0e\0r\0 \0a\0l\0l\0,
y\0o\0u\0 \0a\0l\0l\0o\0w\0e\0d\0 \0V\0B\06\0 \0t\0o\0 \0g\0o\0 \0o\0f\0f\0 \0m\0a\0i\0n\0s\0t\0r\0e\0a\0m\0 \0s\0u\0p\0p\0o\0r\0t\0 \0b\0e\0f\0o\0r\0e\0 \0y\0o\0u\0 \0b\0r\0o\0u\0g\0h\0t\0 \0o\0u\0t\0 \0V\0S\02\00\00\05\0,
w\0h\0i\0c\0h\0 \0y\0o\0u\0 \0s\0a\0y\0 \0h\0a\0s\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0s\0 \0i\0t\0s\0 \0p\0r\0i\0m\0a\0r\0y\0 \0m\0i\0s\0s\0i\0o\0n\0.

[\0M\0a\0t\0t\0]\0 \0V\0B\06\0 \0s\0u\0p\0p\0o\0r\0t\0a\0b\0i\0l\0i\0t\0y\0 \0v\0s\0.\0 \0i\0m\0p\0r\0o\0v\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0a\0r\0e\0 \0o\0r\0t\0h\0o\0g\0o\0n\0a\0l\0 \0i\0s\0s\0u\0e\0s\0.\0 \0 \0A\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0a\0l\0r\0e\0a\0d\0y\0 \0e\0x\0i\0s\0t\0e\0d\0 \0i\0n\0 \02\00\00\02\0 \0a\0n\0d\0 \02\00\00\03\0,\0 \0d\0u\0r\0i\0n\0g\0 \0t\0h\0e\0 \0o\0v\0e\0r\0l\0a\0p\0.\0 \0 \0W\0e\0 \0c\0a\0n\0 \0(\0a\0n\0d\0 \0w\0i\0l\0l\0)\0 \0c\0o\0n\0t\0i\0n\0u\0e\0 \0t\0o\0 \0i\0m\0p\0r\0o\0v\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0r\0e\0g\0a\0r\0d\0l\0e\0s\0s\0 \0o\0f\0 \0t\0h\0e\0 \0s\0t\0a\0t\0e\0 \0o\0f\0 \0V\0B\06\0 \0s\0u\0p\0p\0o\0r\0t\0 \0-\0-\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0 \0l\0o\0t\0 \0o\0f\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0o\0u\0t\0 \0t\0h\0e\0r\0e\0 \0s\0t\0i\0l\0l\0.

\0-\0 \0M\0a\0k\0i\0n\0g\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0V\0B\06\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0 \0a\0n\0d\0 \0m\0o\0r\0e\0 \0r\0o\0b\0u\0s\0t\0 \0(\0n\0o\0t\0 \0b\0y
\0a\0d\0d\0i\0n\0g\0 \0g\0o\0s\0u\0b\0'\0s\0 \0o\0r\0 \0a\0n\0y\0t\0h\0i\0n\0g\0 \0l\0i\0k\0e\0 \0t\0h\0a\0t\0,\0 \0b\0u\0t\0 \0b\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0n\0g\0 \0o\0l\0d\0e\0r\0 \0c\0o\0d\0e\0 \0t\0o
\0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0s\0)\0.
T\0e\0l\0l\0 \0m\0e\0,\0 \0w\0h\0a\0t\0 \0i\0s\0 \0t\0h\0e\0 \0n\0e\0w\0e\0r\0 \0c\0o\0n\0s\0t\0r\0u\0c\0t\0 \0t\0h\0a\0t\0 \0r\0e\0p\0l\0a\0c\0e\0s\0 \0G\0o\0s\0u\0b\0 \0a\0n\0d\0 \0t\0o\0 \0w\0h\0i\0c\0h\0 \0G\0o\0s\0u\0b
i\0s\0 \0a\0u\0t\0o\0m\0a\0t\0i\0c\0a\0l\0l\0y\0 \0t\0r\0a\0n\0s\0l\0a\0t\0e\0d\0 \0i\0n\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0i\0z\0a\0r\0d\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0t\0h\0i\0n\0k\0 \0y\0o\0u\0'\0r\0e\0 \0m\0i\0x\0i\0n\0g\0 \0t\0h\0e\0 \0t\0w\0o\0 \0p\0h\0r\0a\0s\0e\0s\0 \0i\0n\0 \0t\0h\0a\0t\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0 \0-\0-\0 \0I\0'\0m\0 \0n\0o\0t\0 \0m\0a\0k\0i\0n\0g\0 \0a\0n\0y\0 \0i\0m\0p\0l\0i\0c\0a\0t\0i\0o\0n\0s\0 \0a\0b\0o\0u\0t\0 \0s\0p\0e\0c\0i\0f\0i\0c\0 \0t\0r\0a\0n\0s\0l\0a\0t\0i\0o\0n\0s\0.
\0-\0 \0B\0r\0i\0n\0g\0i\0n\0g\0 \0b\0a\0c\0k\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0t\0h\0a\0t\0 \0V\0B\06\0 \0u\0s\0e\0r\0s\0 \0l\0o\0v\0e\0d\0 \0a\0n\0d\0 \0r\0e\0l\0i\0e\0d\0 \0o\0n\0 \0(\0e\0d\0i\0t\0 \0a\0n\0d
\0c\0o\0n\0t\0i\0n\0u\0e\0)\0 \0a\0n\0d\0 \0a\0d\0d\0i\0n\0g\0 \0s\0p\0e\0c\0i\0a\0l\0i\0z\0e\0d\0 \0h\0e\0l\0p\0 \0f\0o\0r\0 \0n\0e\0w\0 \0f\0u\0n\0c\0t\0i\0o\0n\0a\0l\0i\0t\0y\0 \0(\0e\0r\0r\0o\0r
\0c\0o\0r\0r\0e\0c\0t\0i\0o\0n\0,\0 \0s\0n\0i\0p\0p\0e\0t\0s\0)\0 \0t\0o\0 \0h\0e\0l\0p\0 \0e\0a\0s\0e\0 \0t\0h\0e\0 \0l\0e\0a\0r\0n\0i\0n\0g\0 \0c\0u\0r\0v\0e\0.
A\0h\0,\0 \0h\0e\0r\0e\0 \0y\0o\0u\0 \0a\0r\0e\0 \0m\0a\0k\0i\0n\0g\0 \0w\0h\0a\0t\0 \0I\0 \0s\0u\0s\0p\0e\0c\0t\0 \0i\0s\0 \0a\0 \0c\0o\0m\0m\0o\0n\0 \0e\0r\0r\0o\0r\0 \0-\0 \0c\0o\0n\0f\0u\0s\0i\0n\0g\0 \0t\0h\0e
i\0s\0s\0u\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0s\0k\0i\0l\0l\0s\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0i\0s\0s\0u\0e\0 \0o\0f\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0.\0 \0F\0o\0r\0 \0t\0h\0o\0s\0e\0 \0w\0i\0t\0h
l\0a\0r\0g\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0t\0o\0 \0p\0o\0r\0t\0,\0 \0E\0&\0C\0 \0i\0n\0 \0V\0S\02\00\00\05\0 \0i\0s\0 \0o\0f\0 \0l\0i\0t\0t\0l\0e\0 \0p\0r\0a\0c\0t\0i\0c\0a\0l\0 \0u\0s\0e\0 \0u\0n\0l\0e\0s\0s
a\0n\0d\0 \0u\0n\0t\0i\0l\0 \0t\0h\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0 \0c\0a\0n\0 \0a\0c\0t\0u\0a\0l\0l\0y\0 \0b\0e\0 \0m\0i\0g\0r\0a\0t\0e\0d\0 \0i\0n\0t\0o\0 \0V\0S\02\00\00\05\0.\0T\0h\0a\0t\0 \0i\0s\0 \0w\0h\0y
m\0y\0 \0q\0u\0e\0s\0t\0i\0o\0n\0 \0w\0a\0s\0 \0v\0e\0r\0y\0 \0s\0p\0e\0c\0i\0f\0i\0c\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0c\0o\0d\0e\0.

I\0 \0w\0e\0l\0l\0 \0r\0e\0m\0e\0m\0b\0e\0r\0 \0f\0r\0o\0m\0 \0t\0h\0e\0 \0t\0i\0m\0e\0 \0o\0f\0 \0t\0h\0e\0 \0o\0r\0i\0g\0i\0n\0a\0l\0 \0l\0a\0u\0n\0c\0h\0 \0o\0f\0 \0V\0S\0.\0N\0E\0T\0 \0t\0h\0a\0t\0 \0V\0B\06
d\0e\0v\0e\0l\0o\0p\0e\0r\0s\0 \0w\0h\0o\0 \0r\0a\0i\0s\0e\0d\0 \0t\0h\0e\0 \0i\0s\0s\0u\0e\0 \0o\0f\0 \0c\0o\0d\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0b\0e\0i\0n\0g\0 \0d\0e\0r\0i\0d\0e\0d\0 \0(\0a\0t\0 \0t\0i\0m\0e\0s\0 \0b\0y
p\0e\0o\0p\0l\0e\0 \0f\0r\0o\0m\0 \0M\0i\0c\0r\0o\0s\0o\0f\0t\0)\0 \0a\0s\0 \0b\0e\0i\0n\0g\0 \0u\0n\0a\0b\0l\0e\0 \0t\0o\0 \0t\0a\0k\0e\0 \0o\0n\0 \0n\0e\0w\0 \0s\0k\0i\0l\0l\0s\0,\0 \0w\0h\0e\0n\0 \0t\0h\0e\0y\0 \0w\0e\0r\0e
i\0n\0 \0f\0a\0c\0t\0 \0v\0e\0r\0y\0 \0c\0l\0e\0a\0r\0l\0y\0 \0t\0a\0l\0k\0i\0n\0g\0 \0a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0t\0i\0m\0e\0 \0a\0n\0d\0 \0e\0x\0p\0e\0n\0s\0e\0 \0n\0e\0c\0e\0s\0s\0a\0r\0y\0 \0t\0o\0 \0r\0e\0w\0r\0i\0t\0e
e\0x\0i\0s\0t\0i\0n\0g\0 \0p\0r\0o\0j\0e\0c\0t\0s\0.\0 \0P\0l\0e\0a\0s\0e\0 \0b\0e\0 \0a\0w\0a\0r\0e\0 \0t\0h\0a\0t\0 \0m\0y\0 \0q\0u\0e\0s\0t\0i\0o\0n\0s\0 \0a\0r\0e\0 \0v\0e\0r\0y\0 \0s\0p\0e\0c\0i\0f\0i\0c\0a\0l\0l\0y
a\0b\0o\0u\0t\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0o\0f\0 \0e\0x\0i\0s\0t\0i\0n\0g\0 \0m\0e\0d\0i\0u\0m\0-\0t\0o\0-\0l\0a\0r\0g\0e\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0.

[\0M\0a\0t\0t\0]\0 \0N\0o\0 \0c\0o\0n\0f\0u\0s\0i\0o\0n\0 \0a\0t\0 \0a\0l\0l\0.\0 \0 \0T\0h\0e\0r\0e\0 \0a\0r\0e\0 \0t\0w\0o\0 \0i\0s\0s\0u\0e\0s\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0-\0-\0 \0g\0e\0t\0t\0i\0n\0g\0 \0p\0e\0o\0p\0l\0e\0 \0t\0h\0e\0r\0e\0,\0 \0a\0n\0d\0 \0k\0e\0e\0p\0i\0n\0g\0 \0t\0h\0e\0m\0 \0h\0a\0p\0p\0y\0 \0w\0h\0i\0l\0e\0 \0t\0h\0e\0y\0'\0r\0e\0 \0t\0h\0e\0r\0e\0.\0 \0 \0J\0u\0s\0t\0 \0f\0o\0c\0u\0s\0i\0n\0g\0 \0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0t\0h\0e\0 \0c\0o\0d\0e\0 \0w\0o\0u\0l\0d\0 \0b\0e\0 \0a\0 \0m\0i\0s\0t\0a\0k\0e\0.\0 \0 \0I\0 \0u\0n\0d\0e\0r\0s\0t\0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0a\0t\0'\0s\0 \0t\0h\0e\0 \0p\0r\0i\0m\0a\0r\0y\0 \0f\0o\0c\0u\0s\0 \0o\0f\0 \0y\0o\0u\0r\0 \0q\0u\0e\0s\0t\0i\0o\0n\0,\0 \0b\0u\0t\0 \0I\0 \0v\0i\0e\0w\0 \0t\0h\0e\0m\0 \0a\0s\0 \0j\0o\0i\0n\0e\0d\0 \0a\0t\0 \0t\0h\0e\0 \0h\0i\0p\0.
\0-\0 \0M\0a\0k\0i\0n\0g\0 \0a\0 \0c\0o\0m\0m\0i\0t\0m\0e\0n\0t\0 \0t\0o\0 \0p\0r\0o\0v\0i\0d\0i\0n\0g\0 \0p\0o\0w\0e\0r\0f\0u\0l\0 \0t\0o\0o\0l\0s\0 \0f\0o\0r\0 \0d\0a\0t\0a\0 \0a\0c\0c\0e\0s\0s\0,\0 \0t\0o
\0p\0r\0o\0v\0i\0d\0e\0 \0a\0 \0l\0e\0a\0p\0 \0s\0i\0m\0i\0l\0a\0r\0 \0t\0o\0 \0t\0h\0a\0t\0 \0s\0e\0e\0n\0 \0w\0i\0t\0h\0 \0V\0B\03\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0 \0w\0a\0s\0 \0d\0e\0s\0i\0g\0n\0e\0d\0 \0f\0o\0r\0 \0t\0h\0e
\0.\0N\0E\0T\0 \0w\0o\0r\0l\0d\0.
T\0h\0a\0t\0 \0m\0i\0g\0h\0t\0 \0b\0e\0 \0v\0e\0r\0y\0 \0u\0s\0e\0f\0u\0l\0 \0t\0o\0 \0s\0o\0m\0e\0 \0p\0e\0o\0p\0l\0e\0,\0 \0b\0u\0t\0 \0i\0t\0 \0i\0s\0 \0n\0o\0t\0h\0i\0n\0g\0 \0a\0t\0 \0a\0l\0l\0 \0t\0o\0 \0d\0o
w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0.

[\0M\0a\0t\0t\0]\0 \0I\0t\0'\0s\0 \0a\0l\0l\0 \0a\0b\0o\0u\0t\0 \0a\0s\0s\0u\0r\0i\0n\0g\0 \0V\0B\0 \0u\0s\0e\0r\0s\0 \0t\0h\0a\0t\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0m\0e\0a\0n\0s\0 \0a\0d\0d\0e\0d\0 \0p\0o\0w\0e\0r\0,\0 \0a\0n\0d\0 \0a\0s\0 \0s\0u\0c\0h\0 \0i\0s\0 \0m\0o\0s\0t\0l\0y\0 \0r\0e\0l\0e\0v\0a\0n\0t\0 \0t\0o\0 \0m\0y\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0p\0o\0i\0n\0t\0.

\0S\0o\0,\0 \0t\0o\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0i\0n\0 \0s\0i\0m\0i\0l\0a\0r\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0a\0s\0 \0y\0o\0u\0 \0g\0a\0v\0e\0 \0b\0e\0l\0o\0w\0:\0 \0V\0B\0.\0N\0E\0T\0 \0w\0a\0s\0 \0a\0n\0d\0 \0i\0s
\0i\0n\0t\0e\0n\0d\0e\0d\0 \0t\0o\0 \0b\0e\0 \0t\0h\0e\0 \0s\0u\0c\0c\0e\0s\0s\0o\0r\0 \0o\0f\0 \0V\0B\06\0.\0 \0T\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0p\0a\0t\0h\0 \0w\0a\0s\0 \0s\0o\0m\0e\0t\0i\0m\0e\0s
\0d\0i\0f\0f\0i\0c\0u\0l\0t\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\02\0.\0 \0I\0t\0 \0i\0m\0p\0r\0o\0v\0e\0d\0 \0i\0n\0 \0V\0B\0.\0N\0E\0T\0 \02\00\00\03\0.\0 \0I\0t\0 \0g\0o\0t\0 \0r\0a\0t\0h\0e\0r\0 \0m\0o\0r\0e
\0e\0a\0s\0i\0e\0r\0 \0i\0n\0 \0V\0S\0 \02\00\00\05\0,\0 \0a\0n\0d\0 \0t\0h\0e\0 \0"\0e\0x\0p\0e\0r\0i\0e\0n\0c\0e\0"\0 \0e\0v\0o\0l\0v\0e\0d\0 \0t\0o\0 \0m\0a\0t\0c\0h\0.

Y\0o\0u\0 \0h\0a\0v\0e\0n\0'\0t\0 \0y\0e\0t\0 \0g\0i\0v\0e\0n\0 \0m\0e\0 \0a\0n\0y\0 \0e\0x\0a\0m\0p\0l\0e\0s\0 \0o\0f\0 \0t\0h\0i\0n\0g\0s\0 \0i\0n\0 \0V\0S\02\00\00\05\0 \0t\0h\0a\0t\0 \0m\0a\0k\0e
m\0i\0g\0r\0a\0t\0i\0n\0g\0 \0c\0o\0d\0e\0 \0e\0a\0s\0i\0e\0r\0.\0 \0F\0o\0r\0 \0i\0n\0s\0t\0a\0n\0c\0e\0,\0 \0w\0h\0a\0t\0 \0h\0a\0s\0 \0b\0e\0e\0n\0 \0d\0o\0n\0e\0 \0t\0o\0 \0r\0e\0d\0u\0c\0e\0 \0t\0h\0e\0 \0n\0u\0m\0b\0e\0r
o\0f\0 \0"\0T\0o\0D\0o\0"\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0 \0g\0e\0n\0e\0r\0a\0t\0e\0d\0 \0b\0y\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0w\0i\0z\0a\0r\0d\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0h\0a\0v\0e\0 \0n\0o\0 \0s\0u\0c\0h\0 \0l\0i\0s\0t\0 \0a\0t\0 \0h\0a\0n\0d\0 \0(\0o\0t\0h\0e\0r\0 \0t\0h\0a\0n\0 \0t\0h\0e\0 \0m\0e\0m\0o\0r\0y\0 \0o\0f\0 \0c\0o\0l\0l\0e\0c\0t\0i\0n\0g\0 \0t\0h\0e\0 \0l\0i\0s\0t\0s\0 \0o\0f\0 \0i\0m\0p\0r\0o\0v\0e\0m\0e\0n\0t\0s\0 \0a\0n\0d\0 \0s\0e\0n\0d\0i\0n\0g\0 \0t\0h\0e\0m\0 \0t\0o\0 \0T\0a\0c\0t\0i\0c\0s\0 \0f\0o\0r\0 \0a\0p\0p\0r\0o\0v\0a\0l\0,\0 \0a\0l\0o\0n\0g\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0o\0t\0h\0e\0r\0 \0n\0o\0n\0-\0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0i\0x\0e\0s\0 \0t\0h\0a\0t\0 \0V\0B\0 \0w\0o\0u\0l\0d\0 \0s\0e\0n\0d\0 \0a\0l\0o\0n\0g\0)\0.\0 \0 \0I\0f\0 \0y\0o\0u\0 \0l\0i\0k\0e\0,\0 \0I\0 \0c\0o\0u\0l\0d\0 \0a\0l\0w\0a\0y\0s\0 \0f\0o\0l\0l\0o\0w\0 \0u\0p\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0t\0e\0a\0m\0 \0t\0o\0 \0s\0e\0e\0 \0i\0f\0 \0t\0h\0e\0y\0 \0h\0a\0d\0 \0s\0u\0c\0h\0 \0a\0 \0l\0i\0s\0t

A\0l\0s\0o\0,\0 \0w\0h\0e\0n\0 \0p\0l\0a\0n\0n\0i\0n\0g\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0f\0e\0a\0t\0u\0r\0e\0s\0 \0f\0o\0r\0 \0V\0S\02\00\00\05\0,\0 \0d\0i\0d\0 \0y\0o\0u\0 \0g\0e\0t\0 \0i\0n\0 \0t\0o\0u\0c\0h
w\0i\0t\0h\0 \0t\0h\0o\0s\0e\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0w\0h\0o\0 \0p\0u\0b\0l\0i\0c\0l\0y\0 \0c\0r\0i\0t\0i\0c\0i\0s\0e\0d\0 \0t\0h\0e\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0c\0a\0p\0a\0b\0i\0l\0i\0t\0i\0e\0s\0 \0o\0f
e\0a\0r\0l\0i\0e\0r\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0o\0f\0 \0V\0S\0.\0N\0E\0T\0 \0t\0o\0 \0s\0e\0e\0 \0w\0h\0a\0t\0 \0t\0h\0e\0i\0r\0 \0n\0e\0e\0d\0s\0 \0w\0e\0r\0e\0 \0f\0o\0r\0 \0t\0h\0e\0 \0p\0u\0r\0p\0o\0s\0e\0 \0o\0f
p\0o\0r\0t\0i\0n\0g\0 \0s\0u\0b\0s\0t\0a\0n\0t\0i\0a\0l\0 \0V\0B\06\0 \0p\0r\0o\0j\0e\0c\0t\0s\0 \0t\0o\0 \0V\0B\0.\0N\0E\0T\0?

[\0M\0a\0t\0t\0]\0 \0Y\0e\0s\0.\0 \0 \0(\0I\0 \0p\0e\0r\0s\0o\0n\0a\0l\0l\0y\0 \0w\0a\0s\0 \0i\0n\0v\0o\0l\0v\0e\0d\0 \0w\0i\0t\0h\0 \0t\0h\0i\0s\0 \0t\0o\0 \0s\0o\0m\0e\0 \0m\0i\0n\0o\0r\0 \0e\0x\0t\0e\0n\0t\0;\0 \0i\0n\0 \0m\0y\0 \0c\0a\0s\0e\0,\0 \0I\0 \0v\0i\0s\0i\0t\0e\0d\0 \0s\0e\0v\0e\0r\0a\0l\0 \0e\0n\0t\0e\0r\0p\0r\0i\0s\0e\0s\0 \0i\0n\0 \0S\0E\0 \0A\0s\0i\0a\0 \0(\0w\0h\0i\0l\0e\0 \0w\0e\0 \0w\0e\0r\0e\0 \0o\0n\0 \0t\0h\0e\0 \0W\0o\0r\0l\0d\0 \0T\0o\0u\0r\0 \0i\0n\0 \02\00\00\04\0)\0 \0w\0h\0o\0 \0h\0a\0d\0 \0c\0o\0n\0c\0e\0r\0n\0s\0 \0w\0i\0t\0h\0 \0t\0h\0e\0 \0d\0i\0f\0f\0i\0c\0u\0l\0t\0y\0 \0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0,\0 \0b\0u\0t\0 \0t\0h\0a\0t\0'\0s\0 \0a\0 \0t\0i\0n\0y\0 \0e\0x\0a\0m\0p\0l\0e\0 \0o\0f\0 \0a\0 \0m\0u\0c\0h\0 \0l\0a\0r\0g\0e\0r\0 \0e\0f\0f\0o\0r\0t\0.\0 \0 \0W\0e\0 \0h\0o\0s\0t\0e\0d\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0l\0a\0b\0s\0 \0t\0a\0r\0g\0e\0t\0i\0n\0g\0 \0p\0r\0o\0b\0l\0e\0m\0a\0t\0i\0c\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0s\0c\0e\0n\0a\0r\0i\0o\0s\0,\0 \0s\0e\0n\0t\0 \0f\0o\0l\0k\0s\0 \0t\0o\0 \0c\0u\0s\0t\0o\0m\0e\0r\0 \0s\0i\0t\0e\0s\0 \0t\0o\0 \0a\0s\0s\0i\0s\0t\0,\0 \0a\0n\0d\0 \0-\0-\0 \0t\0h\0e\0 \0b\0e\0s\0t\0 \0p\0a\0r\0t\0 \0o\0f\0 \0l\0i\0v\0i\0n\0g\0 \0i\0n\0 \0t\0h\0e\0 \0b\0l\0o\0g\0o\0s\0p\0h\0e\0r\0e\0 \0a\0g\0e\0 \0-\0-\0 \0g\0o\0t\0 \0m\0o\0r\0e\0 \0a\0c\0t\0i\0v\0e\0 \0i\0n\0 \0t\0a\0l\0k\0i\0n\0g\0 \0t\0o\0 \0c\0u\0s\0t\0o\0m\0e\0r\0s\0 \0f\0r\0o\0m\0 \0n\0e\0w\0s\0g\0r\0o\0u\0p\0s\0 \0a\0n\0d\0 \0f\0o\0r\0u\0m\0s\0.\0)

B\0a\0s\0e\0d\0 \0o\0n\0 \0y\0o\0u\0r\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0,\0 \0i\0t\0 \0w\0o\0u\0l\0d\0 \0a\0p\0p\0e\0a\0r\0 \0t\0h\0a\0t\0,\0 \0w\0h\0a\0t\0e\0v\0e\0r\0 \0y\0o\0u\0r\0 \0i\0n\0t\0e\0n\0t\0i\0o\0n\0s\0,
t\0h\0e\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0o\0f\0 \0V\0B\0.\0N\0E\0T\0 \0c\0o\0u\0l\0d\0 \0n\0o\0t\0 \0r\0e\0a\0s\0o\0n\0a\0b\0l\0y\0 \0b\0e\0 \0r\0e\0g\0a\0r\0d\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w
v\0e\0r\0s\0i\0o\0n\0 \0o\0f\0 \0V\0B\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0c\0a\0p\0a\0b\0i\0l\0i\0t\0i\0e\0s\0 \0m\0e\0e\0t\0i\0n\0g\0 \0t\0h\0e\0 \0s\0t\0a\0n\0d\0a\0r\0d\0 \0I\0 \0d\0e\0s\0c\0r\0i\0b\0e\0d\0.
W\0o\0u\0l\0d\0 \0y\0o\0u\0 \0s\0a\0y\0 \0t\0h\0a\0t\0 \0y\0o\0u\0 \0h\0a\0v\0e\0 \0h\0i\0t\0 \0t\0h\0a\0t\0 \0m\0a\0r\0k\0 \0w\0i\0t\0h\0 \0V\0S\02\00\00\05\0?

[\0M\0a\0t\0t\0]\0 \0I\0 \0c\0a\0n\0 \0o\0n\0l\0y\0 \0s\0u\0m\0m\0a\0r\0i\0z\0e\0 \0m\0y\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0s\0t\0a\0t\0e\0m\0e\0n\0t\0s\0:\0 \0 \0t\0h\0e\0 \0l\0a\0n\0g\0u\0a\0g\0e\0 \0h\0a\0s\0 \0e\0v\0o\0l\0v\0e\0d\0 \0(\0i\0r\0r\0e\0s\0p\0e\0c\0t\0i\0v\0e\0 \0o\0f\0 \0m\0y\0 \0p\0e\0r\0s\0o\0n\0a\0l\0 \0v\0i\0e\0w\0 \0t\0h\0a\0t\0 \0V\0B\0.\0N\0E\0T\0 \0c\0a\0n\0 \0a\0l\0s\0o\0 \0b\0e\0 \0v\0i\0e\0w\0e\0d\0 \0a\0s\0 \0a\0 \0n\0e\0w\0 \0p\0r\0e\0s\0e\0n\0t\0a\0t\0i\0o\0n\0 \0o\0f\0 \0a\0n\0 \0e\0s\0t\0a\0b\0l\0i\0s\0h\0e\0d\0 \0t\0h\0e\0m\0e\0)\0,\0 \0a\0n\0d\0 \0w\0o\0r\0k\0 \0c\0o\0n\0t\0i\0n\0u\0e\0s\0 \0t\0o\0 \0m\0a\0k\0e\0 \0s\0u\0r\0e\0 \0t\0h\0a\0t\0 \0c\0o\0d\0e\0 \0w\0r\0i\0t\0t\0e\0n\0 \0i\0n\0 \0p\0r\0e\0v\0i\0o\0u\0s\0 \0v\0e\0r\0s\0i\0o\0n\0s\0 \0c\0a\0n\0 \0b\0e\0 \0m\0o\0r\0e\0 \0e\0a\0s\0i\0l\0y\0 \0m\0i\0g\0r\0a\0t\0e\0d\0 \0a\0n\0d\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0e\0n\0v\0i\0r\0o\0n\0m\0e\0n\0t\0 \0t\0h\0a\0t\0 \0g\0r\0e\0e\0t\0s\0 \0a\0 \0p\0e\0r\0s\0o\0n\0 \0u\0p\0o\0n\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0 \0i\0s\0 \0a\0 \0c\0o\0m\0f\0o\0r\0t\0a\0b\0l\0e\0 \0p\0l\0a\0c\0e\0 \0t\0o\0 \0b\0e\0.\0 \0 \0I\0'\0m\0 \0n\0o\0t\0 \0r\0e\0a\0d\0i\0n\0g\0 \0a\0 \0"\0s\0t\0a\0n\0d\0a\0r\0d\0"\0 \0o\0u\0t\0 \0o\0f\0 \0w\0h\0a\0t\0 \0y\0o\0u\0'\0v\0e\0 \0w\0r\0i\0t\0t\0e\0n\0.\0 \0 \0I\0 \0d\0o\0 \0k\0n\0o\0w\0 \0t\0h\0a\0t\0 \0t\0h\0e\0r\0e\0'\0s\0 \0a\0l\0w\0a\0y\0s\0 \0g\0o\0i\0n\0g\0 \0t\0o\0 \0b\0e\0 \0m\0o\0r\0e\0 \0w\0e\0 \0c\0a\0n\0 \0d\0o\0 \0w\0i\0t\0h\0 \0m\0i\0g\0r\0a\0t\0i\0o\0n\0.\0 \0 \0W\0h\0e\0r\0e\0'\0s\0 \0t\0h\0e\0 \0l\0i\0n\0e\0 \0w\0h\0e\0r\0e\0 \0y\0o\0u\0'\0d\0 \0s\0a\0y\0 \0"\0g\0o\0o\0d\0 \0e\0n\0o\0u\0g\0h\0"\0 \0-\0-\0 \0i\0.\0e\0.\0,\0 \0t\0h\0e\0 \0"\0m\0a\0r\0k\0?\0"\0 \0 \0I\0 \0d\0u\0n\0n\0o\0 \0-\0-\0 \0t\0h\0a\0t\0'\0s\0 \0a\0 \0q\0u\0a\0l\0i\0t\0a\0t\0i\0v\0e\0 \0j\0u\0d\0g\0m\0e\0n\0t\0 \0t\0h\0a\0t\0 \0t\0h\0e\0 \0c\0o\0m\0m\0u\0n\0i\0t\0y\0 \0w\0o\0u\0l\0d\0 \0h\0a\0v\0e\0 \0t\0o\0 \0m\0a\0k\0e\0.
Jan 18 '06 #33
Hi Matt,

Please get your newsreader fixed so I don't have to preprocess every post
from you before I can read it!

Comments prefixed [JW] inline.

<Ma***********@feedback.microsoft.com> wrote in message

news:eP****************@TK2MSFTNGP14.phx.gbl...
Back and unburied from mail :-) Ease of migration is a huge, huge goal for us -- always has been, and will continue to be. The whole mantra -- the primary mission -- for the recent version of VB, in planning meetings, design meetings, and right down to the posters covering our hallway walls, was all about helping VB6 customers move forward. That involved:
I have to say the evidence for that hasn't been terribly clear. After all,

you allowed VB6 to go off mainstream support before you brought out VS2005,

which you say has migration as its primary mission.

[Matt] VB6 supportability vs. improving migration are orthogonal issues. A
migration path already existed in 2002 and 2003, during the overlap. We can
(and will) continue to improve migration regardless of the state of VB6
support -- there's a lot of VB6 code out there still.

{JW] In view of the practical difficulties of migration, and the statements
on the subject by various Microsoft people, I think you can only claim that
a migration path existed in the most nominal way - most reports from people
who tried it suggested that the effort involved was of the order of 50% or
more of the original effort required to write the software in VB6 - a far
cry from the 90% automation claimed for the wizard on the launch of VB.NET.
The mere fact that you accept there is still a lot of VB6 code out there is
testament to that. Moreover, it would seem perverse to stop VB6 support at a
time when you know that there is still a lot of VB6 code which you intend to
assist the migration of in the next version of VS. To do this would seem to
undermine the confidence of the very customers who you say you are
especially looking out for in this version of VS.

I'm not saying you aren't interested in getting VB6 customers to migrate -
it just seems to me that as a company you appear to have gone about it in
rather an odd way.
- Making migration of existing VB6 code easier and more robust (not by adding gosub's or anything like that, but by translating older code to newer constructs).
Tell me, what is the newer construct that replaces Gosub and to which Gosub

is automatically translated in the migration wizard?

[Matt] I think you're mixing the two phrases in that statement -- I'm not
making any implications about specific translations.

[JW] If a relatively easy migration is to be achieved, then older constructs
that are replaced by newer ones need some kind of automated or
semi-automated translation mechanism. You were the one who mentioned Gosub
and translating older code to newer constructs in the same sentence. It
seemed clear that you meant that Gosub was an example of an older construct
for which there is now a translation. Are you now saying that there is no
such newer construct for Gosub? If so, do you have an alternative example of
an older construct for which a translation has been introduced in VS2005?
- Bringing back functionality that VB6 users loved and relied on (edit and continue) and adding specialized help for new functionality (error correction, snippets) to help ease the learning curve.
Ah, here you are making what I suspect is a common error - confusing the

issue of migrating skills with the issue of migrating code. For those with

large VB6 projects to port, E&C in VS2005 is of little practical use unless

and until the VB6 project can actually be migrated into VS2005.That is why

my question was very specific about the migration of code.

I well remember from the time of the original launch of VS.NET that VB6

developers who raised the issue of code migration being derided (at times by

people from Microsoft) as being unable to take on new skills, when they were

in fact very clearly talking about the time and expense necessary to rewrite

existing projects. Please be aware that my questions are very specifically

about the migration of existing medium-to-large VB6 projects.

[Matt] No confusion at all. There are two issues with migration -- getting
people there, and keeping them happy while they're there. Just focusing on
migrating the code would be a mistake. I understand that that's the primary
focus of your question, but I view them as joined at the hip.

[JW] If you understood the focus of my question, let's not spend any more
time digressing from it. Suffice to say that if you are expending
significant efforts in keeping people happy after they have moved when
moving is still a distant prospect for most, then I would respectfully
suggest this indicates a need to invert the relative positions of the cart
and the horse.
- Making a commitment to providing powerful tools for data access, to provide a leap similar to that seen with VB3, but that was designed for the .NET world.
That might be very useful to some people, but it is nothing at all to do

with migrating code.

[Matt] It's all about assuring VB users that migration means added power,
and as such is mostly relevant to my previous point.

[JW] I'm sorry, but that *isn't* relevant. If it were, you could claim every
new feature in the product as being part of your focus on migration. If you
really do make such a claim, then all I can say is that your focus on
migration could result in you adding no features at all that actually assist
people attempting to migrate. And, based on what you have told me so far,
you haven't yet demonstrated that idea to be false - you haven't yet
mentioned a single new feature included in VS2005 that was included for the
specific purpose of assisting the migration of VB6 projects to VS2005.

Please realise that all the added power in the world is not going to be of
any use to a VB6 application owner who finds the migration process
prohibitively expensive in time and effort.
So, to summarize in similar language as you gave below: VB.NET was and is intended to be the successor of VB6. The migration path was sometimes difficult in VB.NET 2002. It improved in VB.NET 2003. It got rather more easier in VS 2005, and the "experience" evolved to match.


You haven't yet given me any examples of things in VS2005 that make

migrating code easier. For instance, what has been done to reduce the number

of "ToDo" statements generated by the migration wizard?

[Matt] I have no such list at hand (other than the memory of collecting the
lists of improvements and sending them to Tactics for approval, along with
the other non-migration fixes that VB would send along). If you like, I
could always follow up with the migration team to see if they had such a
list

[JW] I see. No list, no examples. Nothing immediately comes to mind that you
had as bullet points to present at the VS2005 launch event. A promise to
look something up. By all means, yes please, I would like to see such a
list. In fact, if you are serious about VB6 migration, that list ought
already to have been extremely prominently displayed on the MSDN website,
for instance on VBRun http://msdn.microsoft.com/vbrun/, which is where you
encourage VB6 developers to congregate. But I just checked there (again),
and there is nothing. If migration is so much the focus for this version of
VS, I would have expected a veritable flood of new material on how much
easier migration is now than before. Where is it?

Also, when planning the migration features for VS2005, did you get in touch

with those customers who publicly criticised the migration capabilities of

earlier versions of VS.NET to see what their needs were for the purpose of

porting substantial VB6 projects to VB.NET?

[Matt] Yes. (I personally was involved with this to some minor extent; in my
case, I visited several enterprises in SE Asia (while we were on the World
Tour in 2004) who had concerns with the difficulty on migration, but that's
a tiny example of a much larger effort. We hosted migration labs targeting
problematic migration scenarios, sent folks to customer sites to assist,
and -- the best part of living in the blogosphere age -- got more active in
talking to customers from newsgroups and forums.)

[JW] I know of several people who are well-known to Microsoft (MVPs and
former MVPs for instance), who Microsoft has been assiduous in avoiding. One
who I know particularly well has large vertical-market applications written
in VB6, and who is about to start a serious migration to Delphi. This fact
is well-known to senior people in Microsoft and yet no contact has been made
to discuss migration issues with him. (As he mentioned to me recently, his
phone ain't ringing, so they can't be calling!)

Were your site visits specifically targetted at companies who had expressed
such concerns, or were the concerns mentioned during the course of visits to
companies you had arranged to see for other reasons?

Based on your statements, it would appear that, whatever your intentions,

the previous versions of VB.NET could not reasonably be regarded as a new

version of VB with migration capabilities meeting the standard I described.

Would you say that you have hit that mark with VS2005?

[Matt] I can only summarize my previous statements: the language has evolved
(irrespective of my personal view that VB.NET can also be viewed as a new
presentation of an established theme), and work continues to make sure that
code written in previous versions can be more easily migrated and that the
environment that greets a person upon migration is a comfortable place to
be. I'm not reading a "standard" out of what you've written. I do know that
there's always going to be more we can do with migration. Where's the line
where you'd say "good enough" -- i.e., the "mark?" I dunno -- that's a
qualitative judgment that the community would have to make.

[JW] It is a *quantitative* cost-benefit judgement that individual
application owners have to make. It is a simple question. How much time and
effort is necessary to move the project from the version of VB where it
currently resides to the latest version, and what do I get out of it?

If migration requires less than 2% of the effort it took to write the app in
the first place, it's a no-brainer - you go as soon as you are satisfied
that the new version is stable enough for your purposes. The benefit of
working on the current version with the currently supported platform with
the latest additional features is almost always worth it.

If it is around 5%, you have to think a bit harder about timing it so that
it doesn't clash with a deadline for a major feature, but most people would
regard that as do-able, and getting to the current platform a worthwhile
benefit, provided there are a few features there that you think will be
significantly useful.

10% means you start having to seriously justify the productivity or feature
improvements that would come about as a result of devoting 10% of the
lifetime R&D budget to a migration. That is a significant expenditure. It
requires you to think in terms of some feature you want to add that would be
impossible or prohibitively expensive to add using the old version, and a
significant revenue stream that would not happen without it.

If it is in the region of 20% or more you probably figure that you daren't
take the risk, especially if you worry that next time the platform changes
(as it assuredly will in due course) you will have it all to do over again
because the language has again had major changes.

If you have a legacy app written in VB6 that has had three upgrades since
its original release, each of which cost about half the budget of version 1
of the app, then a 20% rewrite for porting is the cost of an entire new
version of the app - for no additional feature content at all! Try
justifying an entire release-worth of R&D budget on a process that gets you
no new features, and watch the smoke coming out of your CFO's ears!

That is why I set the figure at about 95% automated - any worse than that
and serious questions need to be asked about justifying the time, cost,
effort and risk in a commercial environment. You aren't giving me confidence
that you are anywhere near that figure yet. That leads me back to my
original question - was migration to that standard of automation ever an
objective for you, and do you think you have achieved it yet?
--
Regards
Jonathan West

Jan 18 '06 #34
"Jonathan West" <jw***@mvps.org> wrote in message
news:%2****************@TK2MSFTNGP15.phx.gbl...
Hi Matt,

Please get your newsreader fixed so I don't have to preprocess every post
from you before I can read it!


.... I can't read it (easily) either <g> but, on the humor side,

Someone you know well provided this link...
http://www.cafepress.com/radioactivecode

As a VB6 dev, I can tell you, the upgrade wizard was improved quite a bit.
Problem is... and it will probably continue to be a huge problem (for me
anyway), very little of my code is "pure, out of the box VB"... which is the
exact code base the wizard needs to be successful.

Just about every project I work on goes far beyond that of mortal VB code,
using weak references, ROT entries and just about anything you can think of
that takes the "B" out of VB. The wizard has very little luck
converting/migrating that type of app. The ToDo's seem to have been replaced
by real compiler errors and warnings (in the form of comments).

The "out of the box" VS2005 experience for me has been, well..., a
nightmare. None of the sample code I've tried works, none of the 101 samples
work, SQL Express's installer is easily confused, VS's installer seems to be
just as easily confused. I tried watching a couple of the videos and tried a
couple of the "10 lines or less" samples the videos provide. All I get are
errors and more errors. I realize my configuration is totalled, which causes
most of these problems but sheesh... I've installed 100's of apps and never
had this much trouble. For SQL Express, I managed to fix it by opening
RegEdit and searching for all registry keys that contain the path to SQL
Express and deleting them... that was no easy chore as there are probably
200 matches. Once it was literally ripped out by the roots, I rebooted,
deleted the Express folder, ran my favorite registry cleaner (just to make
sure) and re installed express. I'll probably have to do the exact same
thing with VS2005 to get it to behave (which means I'll have to do it again
for SQL express)

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 18 '06 #35

"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message
news:ed**************@TK2MSFTNGP14.phx.gbl...
The "out of the box" VS2005 experience for me has been, well..., a
nightmare. None of the sample code I've tried works, none of the 101
samples work, SQL Express's installer is easily confused, VS's installer
seems to be just as easily confused.


This was my experience too. I tried to download and compile an example (VB)
which lets you traverse a directory tree. It doesn't work, and I have no
idea why or what the errors mean. They are obscure references to multiply
defined symbols. I know what that means, but cannot find such duplications.
And so it goes ...


Jan 19 '06 #36
Hello there

Actually we @ S7 has done lot of migrations of VB6 & older VB code onto
either .NET or some have even got it reengineers to Jave On linux and
in all cases we have done a great job with a fast turn around time and
at a very low cost - approximately less than 20% of the estimated cost
of development [or redevelopment]. Yes we do sometimes use some of the
tools avialable in the market but most won't do more than 40% of the
conversion and it is left to the adroitness of the migrating
professionals to do a complete turn key solution and was worth in the
long run to migrate.

Manju
S7 Software Solutions
"Re-Defining Cross-Platform Porting and Migration"

Jan 19 '06 #37
Matt asked me to jump in on this thread and help with some of your
questions regarding migration of Visual Basic 6 applications. I'm John Hart
and I work on the VB Upgrade Tool here at Microsoft. This tool (in my
opinion) does a great job of moving your VB6 application forward to VB
.Net, however as you all have mention it can not possibly upgrade 100% of
the project. In fact, the percentage of project that the tool can upgrade
really comes down to just how complex the original project is and just how
well written it was. This makes it difficult to estimate just how
successful the tool will be.

Since the original version of the tool shipped with VB.Net 2002 we have
continued to make improvements to the tool so that more and more of the
original VB6 project is upgraded. (Please see
http://msdn.microsoft.com/vbasic/ref...spx?pull=/libr
ary/en-us/dnvs05/html/vbupgrade.asp for a list of the latest improvement)

Even with these improvements there are portions of the VB6 project that
just do not have a clean upgrade. For example moving ADO to ADO.Net is not
something the Upgrade tool attempts to accomplish. The same is true for
graphics; the upgrade tool does not attempt to upgrade your custom graphics
logic. So in these types of applications the amount of manual work you will
need to undertake to complete the migration is significantly increased.

There are some great resources for moving VB6 projects to VB.Net posted on
MSDN that will help you determine just what type of effort it will take to
complete the upgrade. (Please see
http://msdn.microsoft.com/vbasic/ref...n/default.aspx)

One of the best resources is a new book that was just recently published by
our Patterns and Practices group:
Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual
Basic 2005
(http://msdn.microsoft.com/vbasic/def...n-us/dnpag2/ht
ml/VB6ToVBNetUpgrade.asp)

I am very interested to hear your opinion on the upgrade tool, if there are
issues you have had with it and if you have any suggestions on what
additional features you would like to see added.

Thanks,
John Hart
Jo******@Microsoft.Com.
--
This posting is provided "AS IS" with no warranties, and confers no rights.

Jan 19 '06 #38
"John Hart [MSFT]" <Jo******@Online.Microsoft.com.> wrote in message
news:kp**************@TK2MSFTNGXA02.phx.gbl...

I am very interested to hear your opinion on the upgrade tool, if there
are
issues you have had with it and if you have any suggestions on what
additional features you would like to see added.

Thanks,
John Hart
Jo******@Microsoft.Com.


One improvement that would be great (imo) is to have the "wizard" prompt you
when it doesn't know what to do with the code. At that time, a list of
pre-written (by you, or imported from some website) code snips that would
serve as replacements for any "To Do" or "Upgrade Warning" comments. Off the
top of my head, I can think of 2 snips that would drastically reduce the
confusion during migration.... The first one would be a snip to convert VB6
control arrays to something that dotNet can use and the second one would be
a snip that simply draws a line and have the wizard replace all references
to VB6's Line control with calls to that snip. I'm not sure how many passes
the Wizard performs on VB6 code before it actually converts it but, if it's
at least 2, those snips should be fairly easy to implement. Thing is, I'd
much rather see 20-30 predictable prompts than 100's of errors. Especially
since MSDN seems to take forever + a day to open and doesn't provide
information in a format that VB6 developers expect... side note... VB5 had
the best help system ever created. VB6 was "kinda ok" if you knew what you
were looking for, or knew the tricks to find information quickly. The new
MSDN is simply far too bloated (especially if web access is part of the
picture) to be of any real use. It should _not_ take 30-90 seconds to open
help. Period. Especially when doing so disables the IDE while MSDN is
crunching along. I've used TaskManager to kill the entire nightmare more
times than I can count. As I mentioned in another thread, I can start VB6,
write the entire "Hello World" sample, compile it and run it in less time
than it takes the .Net IDE to get ready to start accepting keystrokes.
There's something terribly wrong with that imo.

Another great feature would be one that replaces a predefined set of VB6
classes with dotNet classes that do exactly the same thing. For example, I
have a registry class that I simply Drag and Drop into any VB6 project that
needs registry access. Of course, the functionality this class performs is
already built into the framework... which means, the 100 or so errors I see
when I run one of those projects through the wizard would go away completely
when it see's I'm using the pre-defined class called cRegistry... which the
wizard would replace with a pre-defined class called cRegistryNET (or
something similar) that I wrote, downloaded somewhere or may've even been
installed with the wizard.

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 20 '06 #39

John,

My biggest complaint with this wizard is that any functions that are
referenced, but not in the code being upgraded, are changed to "objects" and
then Option Strict On complains about late binding. Give us an option to
turn this "feature" off. Also, give us a switch to eliminate the "UPGRADE
WARNING" messages.

I don't use the project converter because of the number of bugs in it. I
have found that I generate less work simply by cut and pasting my original
VB 6 code into my new project.

Mike Ober.
"John Hart [MSFT]" <Jo******@Online.Microsoft.com.> wrote in message
news:kp**************@TK2MSFTNGXA02.phx.gbl...
Matt asked me to jump in on this thread and help with some of your
questions regarding migration of Visual Basic 6 applications. I'm John Hart and I work on the VB Upgrade Tool here at Microsoft. This tool (in my
opinion) does a great job of moving your VB6 application forward to VB
.Net, however as you all have mention it can not possibly upgrade 100% of
the project. In fact, the percentage of project that the tool can upgrade
really comes down to just how complex the original project is and just how
well written it was. This makes it difficult to estimate just how
successful the tool will be.

Since the original version of the tool shipped with VB.Net 2002 we have
continued to make improvements to the tool so that more and more of the
original VB6 project is upgraded. (Please see
http://msdn.microsoft.com/vbasic/ref...spx?pull=/libr ary/en-us/dnvs05/html/vbupgrade.asp for a list of the latest improvement)

Even with these improvements there are portions of the VB6 project that
just do not have a clean upgrade. For example moving ADO to ADO.Net is not
something the Upgrade tool attempts to accomplish. The same is true for
graphics; the upgrade tool does not attempt to upgrade your custom graphics logic. So in these types of applications the amount of manual work you will need to undertake to complete the migration is significantly increased.

There are some great resources for moving VB6 projects to VB.Net posted on
MSDN that will help you determine just what type of effort it will take to
complete the upgrade. (Please see
http://msdn.microsoft.com/vbasic/ref...n/default.aspx)

One of the best resources is a new book that was just recently published by our Patterns and Practices group:
Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual
Basic 2005
(http://msdn.microsoft.com/vbasic/def...n-us/dnpag2/ht ml/VB6ToVBNetUpgrade.asp)

I am very interested to hear your opinion on the upgrade tool, if there are issues you have had with it and if you have any suggestions on what
additional features you would like to see added.

Thanks,
John Hart
Jo******@Microsoft.Com.
--
This posting is provided "AS IS" with no warranties, and confers no rights.


Jan 21 '06 #40
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...

Another great feature would be one that replaces a predefined set of VB6
classes with dotNet classes that do exactly the same thing. For example, I


The more I think about this one, the more I like the idea. Since we're
focusing on code re-use (Right?!!!), I think it would be an excellent
feature. Sounds extremely simple too.

First Pass...
Scan project for known classes
If any are found, simply swap them with the matching dotNet class
and
mark that part of the project "done" to the wizard. No need for the
Wizard to rescan this part of the project.
Second Pass...
Run the wizard in "normal" mode, checking for classes replaced by the
first pass, so they can be skipped.

Done. Far fewer reported errors and warnings, true code reusability,
everyone wins. End of story <g>

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 21 '06 #41
"Ken Halter" <Ke********@Hotmail.com> wrote in message
news:Oh***************@tk2msftngp13.phx.gbl...
feature. Sounds extremely simple too.


Just as I thought <sigh>... Posting suggestions for dotNet from an "Actual
VB6 developer" is like talking into a vacuum. HUGE waste of time because the
direction dotNet's taking has already been set in stone so, as a VB6
developer, our "suggestions" are nothing more than something for the dotNet
product team to print out and use as toilet tissue.

The sudden drive to get VB6 devs to use B# is purely a marketting ploy to
get people to buy dotNet. What they do with it once they've shelled out the
money, is their problem. Code re-use.... HA! Wizard..... HA!

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 23 '06 #42
Ken,

Just as I thought <sigh>... Posting suggestions for dotNet from an "Actual
VB6 developer" is like talking into a vacuum. HUGE waste of time because
the direction dotNet's taking has already been set in stone so, as a VB6
developer, our "suggestions" are nothing more than something for the
dotNet product team to print out and use as toilet tissue.


I disagree this completely with you. In my opinion is there now to much in
VB.Net what would not be there if there was not that big VB6 advocacy, which
seems for me extremely stronger than the Linux one.

At least I am not very lucky with some of the so called improvements in
version 2005 which becomes because of this advocacy, which have helped to
improve VBNet with the at least not always logical behaviour of VB6, without
that they knew anything from VB.Net.

Every developer knows in advance what it the result of these kind of
improvements. However the VB6 avocacy is strong.

Just my opinion.

Cor
Jan 23 '06 #43
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:OG**************@TK2MSFTNGP11.phx.gbl...
Ken,

Just as I thought <sigh>... Posting suggestions for dotNet from an
"Actual VB6 developer" is like talking into a vacuum. HUGE waste of time
because the direction dotNet's taking has already been set in stone so,
as a VB6 developer, our "suggestions" are nothing more than something for
the dotNet product team to print out and use as toilet tissue.


I disagree this completely with you. In my opinion is there now to much in
VB.Net what would not be there if there was not that big VB6 advocacy,
which seems for me extremely stronger than the Linux one.

At least I am not very lucky with some of the so called improvements in
version 2005 which becomes because of this advocacy, which have helped to
improve VBNet with the at least not always logical behaviour of VB6,
without that they knew anything from VB.Net.

Every developer knows in advance what it the result of these kind of
improvements. However the VB6 avocacy is strong.

Just my opinion.

Cor


Well... I can't count the number of times I've seen an MS employee say "post
your ideas" and, when we do, they're completely ignored. The problem with
most of the "improvements" as far as VB6 migration goes, since VB6 has
always been "just a toy" to MS and no one there used it for any reasonable
amount of time, they're implementing features they "assume" VB6 developers
want (can't seem to provide a decent immediate window or single procedure
view though).

So, what you're saying is, B# is getting worse as a result of these
"improvements" eh? That doesn't surprise me at all. VB6 compatibility isn't
just some band-aid you can simply paste on top of a framework to please VB6
developers. Personally, I have 10s of thousands of lines of code that are
instantly broken by dotNet. Since most of my projects include several
classes that perform the exact same thing, no matter what project they're
in, I thought it would be a good idea to feed those through the "wizard" and
never have to deal with them again. If that "wizard" found one of those
"pre-converted" classes, it could simply swap one file for another, instead
of parsing the class and reporting tons of errors every single freaking time
it comes across one of these exact same classes in a project.

Since B# is a completely new language, it should never have been called "VB"
in the first place. If only they'd have been honest, we wouldn't be having
these issues today, at all. VB6 support in B# could've been completely
dropped.

NET Software Legend Juval Lowy agrees with that too, saying the only thing
VB6 has in common with VB.Net is the letters "V" and "B" in their names. You
can hear that in the following podcast....

VB6 Glass Ceiling
http://blogs.duncanmackenzie.net/dun...0/28/3148.aspx

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 23 '06 #44
Cor,

"Cor Ligthert [MVP]" <no************@planet.nl> schrieb:
Just as I thought <sigh>... Posting suggestions for dotNet from an
"Actual VB6 developer" is like talking into a vacuum. HUGE waste of time
because the direction dotNet's taking has already been set in stone so,
as a VB6 developer, our "suggestions" are nothing more than something for
the dotNet product team to print out and use as toilet tissue.


I disagree this completely with you. In my opinion is there now to much in
VB.Net what would not be there if there was not that big VB6 advocacy,
which seems for me extremely stronger than the Linux one.

At least I am not very lucky with some of the so called improvements in
version 2005 which becomes because of this advocacy, which have helped to
improve VBNet with the at least not always logical behaviour of VB6,
without that they knew anything from VB.Net.


Unfortunately that's not what people were asking for. There are only very
few (mainly in the VB.NET team) who think that faking VB6 in VB.NET by
introducing some phantom features is a good idea. Personally I think that
VB6 must have a future -- managed or not -- and VB.NET should not be
crippled by introducing features known from VB6 such as referring to default
instances using a form's class name. The latter won't solve the migration
problem. It's a bait for former VB6 developers and managers who are made
think that VB 2005 is the new VB6. Even dropping the ".NET" from the
programming language's name perfectly fits into this schema.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Jan 23 '06 #45
Hi John,

I'd be grateful if you could respond to my last reply to Matt Getz in this
thread, and carry on with the questions he felt unable to answer.

--
Regards
Jonathan West

Jan 23 '06 #46
"Herfried K. Wagner [MVP]" <hi***************@gmx.at> wrote in message
news:eQ*************@TK2MSFTNGP12.phx.gbl...

Unfortunately that's not what people were asking for. There are only very
few (mainly in the VB.NET team) who think that faking VB6 in VB.NET by
introducing some phantom features is a good idea. Personally I think that
VB6 must have a future -- managed or not -- and VB.NET should not be
crippled by introducing features known from VB6 such as referring to
default instances using a form's class name. The latter won't solve the
migration problem. It's a bait for former VB6 developers and managers who
are made think that VB 2005 is the new VB6. Even dropping the ".NET" from
the programming language's name perfectly fits into this schema.
I agree 100%. B# could've just taken off in it's own direction if it were
called anything other than "VB". It would've been better for everyone
involved. MS could still sell dotNet with its "super duper version of
'basic'" and VB6 users could be running VB6 with bug fixes in place.
--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 23 '06 #47
Ken,

You have often written in this newsgroup VB.Net is not VB6.

Although I don't agree that completely with you, have I always agreed in the
context as you wrote this and given no comments.

Let I try an analogy.

English is a complex of languages that inherits most from North Sea
languages. Therefore it is a Germanic language. However it has implemented a
lot from other languages but mostly French. Other members of those North
Sea languages are Danish, Dutch and Fries, however you probably cannot speak
one of those languages.

In my idea is VB.Net is an apart member from the family of VB languages.

However just my idea.

Cor
Jan 23 '06 #48
Herfried,

"Cor Ligthert [MVP]" <no************@planet.nl> schrieb:
Just as I thought <sigh>... Posting suggestions for dotNet from an
"Actual VB6 developer" is like talking into a vacuum. HUGE waste of time
because the direction dotNet's taking has already been set in stone so,
as a VB6 developer, our "suggestions" are nothing more than something
for the dotNet product team to print out and use as toilet tissue.


I disagree this completely with you. In my opinion is there now to much
in VB.Net what would not be there if there was not that big VB6 advocacy,
which seems for me extremely stronger than the Linux one.

At least I am not very lucky with some of the so called improvements in
version 2005 which becomes because of this advocacy, which have helped to
improve VBNet with the at least not always logical behaviour of VB6,
without that they knew anything from VB.Net.


Unfortunately that's not what people were asking for. There are only very
few (mainly in the VB.NET team) who think that faking VB6 in VB.NET by
introducing some phantom features is a good idea. Personally I think that
VB6 must have a future -- managed or not -- and VB.NET should not be
crippled by introducing features known from VB6 such as referring to
default instances using a form's class name. The latter won't solve the
migration problem. It's a bait for former VB6 developers and managers who
are made think that VB 2005 is the new VB6. Even dropping the ".NET" from
the programming language's name perfectly fits into this schema.


We agree for 100% in this.

Cor
Jan 23 '06 #49
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Ken,

You have often written in this newsgroup VB.Net is not VB6.

Although I don't agree that completely with you, have I always agreed in
the context as you wrote this and given no comments.

Let I try an analogy.

English is a complex of languages that inherits most from North Sea
languages. Therefore it is a Germanic language. However it has implemented
a lot from other languages but mostly French. Other members of those
North Sea languages are Danish, Dutch and Fries, however you probably
cannot speak one of those languages.

In my idea is VB.Net is an apart member from the family of VB languages.

However just my idea.

Cor


You're 100% right about the fact that I can't speak any of those languages.
Thing is, no one's trying to sell Dutch as an upgrade to the English
language ;-) Since Dutch (and the rest) are completely different (including
their names), I'd expect completely different rules to apply. Wouldn't want
English to suddenly become "no longer supported"

--
Ken Halter - MS-MVP-VB (visiting from VB6 world) - http://www.vbsight.com
Please keep all discussions in the groups..
Jan 23 '06 #50

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL)...
2
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues...
3
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which...
0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
1
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the...
4
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the...
1
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url ...
2
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value...
3
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.