Click to See Complete Forum and Search --> : For MM


Michael Culley
06-16-2002, 05:25 AM
Mike,

I know you don't like vb.net without having any real knowledge of it, so
I've compiled a list of some of the cool features that .net has the vb6
doesn't have so you might at least be educated about what you are missing
out on. This is all that I could think of at the moment but there must be
thousands of improvements, maybe others could add to this list. I know some
of these improvements are small on there own but they all add up to a huge
difference.

Objects can be created and destroyed much more quickly and require much less
memory. This means that an object can be used where previously not possible.
eg every field of every row in a table can be an object

Auto indenting of code

Auto completing of blocks such as If/While etc (even With :)

Inheritance.

Overloading.

Autochecking of code as you type. No more messageboxes when you leave a line
and no need to push ctrl-f5 to find errors.

Can put a break point on 2 places in the one line (eg If A>0 then exit sub)

Has the return statement so that you can change the name of a function more
easily and can exit a function and return a value with one line of code
(previously 4 were needed).

The one function can get events from 2 objects.

Shared functions

Greater (but not perfect) consistency.

Controls are better (still not perfect)

Subclassing is built in and more stable.

ASP.net uses compiled code.

Dlls can be updated while a webserver is running.

No default properties except on indexed properties.

Option strict

More power when creating our own collections.

Web controls.

Set a value into a variable while dimming it.

Behaviour of New keyword improved.

Consistency between the keywords for creating
forms/classes/variables/interfaces. eg forms can be defined as
private/public/friend

Classes can be created inside other classes, great if you want to create a
class only to be used by a parent class and not visible outside the parent
class. Also good if you want to call functions between 2 classes but not
have the functions visible outside the classes.

Windows such as property windows, project explorer can be set to scroll in
from the side to maximize space for typing code.

Far far better error handling.

64bit integer.

Better ability to create controls on the fly

More controls.

All controls inherit from control so it is possible to write generic code
for handling any control but make it early bound.

Greater number of built in classes to make coding easier.

More functions, eg Array.IndexOf (MyArray,Value) to find a value in an
array, previously we had to find it ourselves.

Implements works a whole heap better.

Web services.

Built in support for updating apps over the internet.

Enums work with intellisense through case statements.

Enums must be prefixed so you don't have to think of a unique name for every
enum element.

Can use any built in keyword for variable/function/class/enum names eg
Public Sub [Sub] ( )

Greater flexibility and greater power.

Still retains the ease of use of vb6.

I keep thinking of more improvements but I have to stop somewhere.

--
Michael Culley
www.vbdotcom.com

Mike Mitchell
06-16-2002, 06:48 AM
On Sun, 16 Jun 2002 19:25:41 +1000, "Michael Culley"
<m_culley@hotmail.com> wrote:

>I know you don't like vb.net without having any real knowledge of it, so
>I've compiled a list of some of the cool features that .net has the vb6
>doesn't have so you might at least be educated about what you are missing
>out on.

Hey, you're trying to sell me something I don't want!

MM

Michael Culley
06-16-2002, 07:55 AM
Not trying to sell you anything, just letting you know what you are missing
out on :)

--
Michael Culley
www.vbdotcom.com

Phil Weber
06-16-2002, 12:45 PM
> Autochecking of code as you type. No more message
> boxes when you leave a line and no need to push Ctrl-F5
> to find errors.

Michael: VB6 has this, doesn't it?
---
Phil Weber

Phil Weber
06-16-2002, 02:07 PM
> VB6 pops up this annoying message box that interrupts
> your coding (and train of thought).

Pat: Not on my system (Hint: Tools -> Options -> Editor, uncheck "Auto
Syntax Check").

> If the line you're on is valid, but breaks a line of code else-
> where in the program, VB6 will not detect this. VB.NET will.

That's true.
---
Phil Weber

Patrick Troughton
06-16-2002, 02:39 PM
Sort of. VB6 pops up this annoying message box that interrupts your coding
(and train of thought). VB.NET just puts a squiggly under the line of code.
Further, VB6 only verifies the line of code you're on, not the whole program.
If the line you're on is valid, but breaks a line of code elsewhere in the
program, VB6 will not detect this. VB.NET will. On a somewhat related note,
there is no easy way to get a complete list of compilation errors in VB6
like there is in VB.NET.

/Pat

"Phil Weber" <pweber@nospam.fawcette.com> wrote:
>
>Michael: VB6 has this, doesn't it?
>---
>Phil Weber
>

Patrick Troughton
06-16-2002, 07:07 PM
"Phil Weber" <pweber@nospam.fawcette.com> wrote:
> > VB6 pops up this annoying message box that interrupts
> > your coding (and train of thought).
>
>Pat: Not on my system (Hint: Tools -> Options -> Editor, uncheck "Auto
>Syntax Check").

Yes but then you no longer have auto-syntax checking.

/Pat

David A. Rothgery
06-16-2002, 07:53 PM
Phil Weber <pweber@nospam.fawcette.com> wrote:
> > VB6 pops up this annoying message box that interrupts
> > your coding (and train of thought).
>
> Pat: Not on my system (Hint: Tools -> Options -> Editor, uncheck "Auto
> Syntax Check").

Which is rather counter-intuitive. You'd think that would turn off the
red color-coding too, but it doesn't.

--
Dave Rothgery
Picking nits since 1976
drothgery@alum.wpi.edu
http://drothgery.editthispage.com

Michael Culley
06-16-2002, 07:57 PM
"Patrick Troughton" <Patrick@Troughton.com> wrote:
>
>"Phil Weber" <pweber@nospam.fawcette.com> wrote:
>> > VB6 pops up this annoying message box that interrupts
>> > your coding (and train of thought).
>>
>>Pat: Not on my system (Hint: Tools -> Options -> Editor, uncheck "Auto
>>Syntax Check").
>
>Yes but then you no longer have auto-syntax checking.
>
>/Pat

You still have auto syntax checking because the line will go red but there
is no way to get a description of the error. There have been times when I
have turned the message back on because I couldn't figure out what was wrong
(I know it was really obvious but I just couldn't see it)

Michael Culley

Patrick Troughton
06-16-2002, 08:34 PM
"Michael Culley" <mculley@optushome.com.au> wrote:
>
>You still have auto syntax checking because the line will go red

No, not always. Try typing Dim duh As ClassThatDoesNotExist into VB6.

/Pat

Michael Culley
06-16-2002, 10:01 PM
What I meant was that you still have the same level of autosyntax checking.


"Patrick Troughton" <Patrick@Troughton.com> wrote in message
news:3d0d207a$1@10.1.10.29...
>
> "Michael Culley" <mculley@optushome.com.au> wrote:
> >
> >You still have auto syntax checking because the line will go red
>
> No, not always. Try typing Dim duh As ClassThatDoesNotExist into VB6.
>
> /Pat
>

Eddie Burdak
06-17-2002, 03:27 AM
Michael,

"Michael Culley" <m_culley@hotmail.com> wrote in message
news:3d0c5404@10.1.10.29...

<snip>

> Still retains the ease of use of vb6.

We know it doesn't port VB6 programes without a few spew bags on the
way so what do you really mean by this?

Eddie

Tim Overbay
06-17-2002, 11:26 AM
inline...

"Michael Culley" <m_culley@hotmail.com> wrote in message
news:3d0c5404@10.1.10.29...
> Mike,
>
> I know you don't like vb.net without having any real knowledge of it...
<snip>
> ...
> Objects can be created and destroyed much more quickly and require much
less
> memory. This means that an object can be used where previously not
possible.
> eg every field of every row in a table can be an object

Yep small objects are created much more quickly and efficiently than with
VB6. The problem is defining what's "small". Also, there seems to be a bug
with the memory manager that keeps large objects (~20mb) from being properly
released. I think the jury's still out on the new memory manager.

>
> Auto indenting of code
>

This feature's pretty cool, until you want to indent something differently.
Then it's a huge pain in the ***.

> Auto completing of blocks such as If/While etc (even With :)

This is a nice feature.

>
> Inheritance.
>

Should read "implentation inheritance" VB6 has inheritance (interface).

> Overloading.
>

OOP concepts like this and inheritance aren't going to impress the likes of
Mikey.

> Autochecking of code as you type. No more messageboxes when you leave a
line
> and no need to push ctrl-f5 to find errors.
>

This is definitely one of the coolest features of the IDE. I love the Task
List.

> Can put a break point on 2 places in the one line (eg If A>0 then exit
sub)
>

Eh??

> Has the return statement so that you can change the name of a function
more
> easily and can exit a function and return a value with one line of code
> (previously 4 were needed).
>

Yep. This is a good one. You can use Return to exit subs, too.

> The one function can get events from 2 objects.
>

Should read "2 or more objects".

> Shared functions
>

Didn't VB6 have shared (global) functions?

> Greater (but not perfect) consistency.
>

Highly debatable.

> Controls are better (still not perfect)
>

Again, highly debatable.

> Subclassing is built in and more stable.
>

What does this mean? If you mean implentation inheritance, how is it more
stable?

> ASP.net uses compiled code.
>
> Dlls can be updated while a webserver is running.
>
> No default properties except on indexed properties.
>
> Option strict

Yep.

>
> More power when creating our own collections.
>

I dunno. I kind of miss the Class Wizard.

> Web controls.
>

Yep.

> Set a value into a variable while dimming it.
>

Actually, I think this makes the code a little less readable. Not a huge
deal, though.

> Behaviour of New keyword improved.
>

Much more useful than the previous point.

> Consistency between the keywords for creating
> forms/classes/variables/interfaces. eg forms can be defined as
> private/public/friend
>
> Classes can be created inside other classes, great if you want to create a
> class only to be used by a parent class and not visible outside the parent
> class. Also good if you want to call functions between 2 classes but not
> have the functions visible outside the classes.
>

Again, not major selling points to object-o-phobes.

> Windows such as property windows, project explorer can be set to scroll in
> from the side to maximize space for typing code.
>

The VS.NET IDE completely destroys any other IDE out there.

> Far far better error handling.
>

Yep, but I think this is one of the areas where VB6ers claim VB.NET is
"harder".

> 64bit integer.
>

Will come in handy some day.

> Better ability to create controls on the fly
>
> More controls.
>
> All controls inherit from control so it is possible to write generic code
> for handling any control but make it early bound.
>
> Greater number of built in classes to make coding easier.
>
> More functions, eg Array.IndexOf (MyArray,Value) to find a value in an
> array, previously we had to find it ourselves.
>


Some would argue that these are cons instead of pros.

> Implements works a whole heap better.
>

Yes indeed, but this is just more object-oriented drivel about which Mikey
and his ilk won't give a fiddle.

> Web services.
>

LOL. Don't get MM started on these.

> Built in support for updating apps over the internet.
>

Dunno about this one. I haven't tried it.

> Enums work with intellisense through case statements.
>
> Enums must be prefixed so you don't have to think of a unique name for
every
> enum element.
>


Enums definitely work better in VB.NET, although the required prefixes make
for some might long lines of code.

> Can use any built in keyword for variable/function/class/enum names eg
> Public Sub [Sub] ( )
>

I don't know about this one. I think it just adds needless confusion.

> Greater flexibility and greater power.
>

Debatable. Specifics?

> Still retains the ease of use of vb6.
>

Extremely debatable. This ng would be a whole lot skinnier if everybody
agreed on this one.


Tim

> I keep thinking of more improvements but I have to stop somewhere.
>
> --
> Michael Culley
> www.vbdotcom.com
>
>
>
>

Michael Culley
06-17-2002, 05:32 PM
> We know it doesn't port VB6 programes without a few spew bags on the
> way so what do you really mean by this?

You can still add a form to a project, drag on some control, double click
the control and write some code, just like vb6.

--
Michael Culley

Michael Culley
06-17-2002, 05:53 PM
> This feature's pretty cool, until you want to indent something
differently.
> Then it's a huge pain in the ***.

The only time i've come across something I don't like with the auto indenter
is with case statements, the double un-indent at the end looks stoopid.

> > Can put a break point on 2 places in the one line (eg If A>0 then exit
> sub)
> >
> Eh??

With the above line of code it is possible to click on the exit sub part and
push F9. The breakpoint will only break if A > 0. You can also click on the
A>0 part and put a second breakpoint there. In vb6 it was necessary to turn
this into three lines and put a breakpoint on the middle line.

> Didn't VB6 have shared (global) functions?

True, but not as good as .net.

> > Subclassing is built in and more stable.
> >
> What does this mean? If you mean implentation inheritance, how is it more
> stable?

I mean subclassing as in trapping windows messages.

> > Web services.
> >
> LOL. Don't get MM started on these.

oops :) Forgot about MMs love of webservices.

> > Can use any built in keyword for variable/function/class/enum names eg
> > Public Sub [Sub] ( )
> >
> I don't know about this one. I think it just adds needless confusion.

I think it is a great feature.

> > Greater flexibility and greater power.
> Debatable. Specifics?

All of the above mentioned items + more.

> > Still retains the ease of use of vb6.
> >
> Extremely debatable. This ng would be a whole lot skinnier if everybody
> agreed on this one.

If vb had an easy of use factor (EUF) of 80 and C had an EUF of 10 then
vb.net would be at 79. Sure it is harder to use than vb6 but not that much
harder.

> > I keep thinking of more improvements but I have to stop somewhere.

I forgot AndAlso and OrElse.

Michael Culley

Tim Overbay
06-17-2002, 06:20 PM
"Michael Culley" <mculley@optushome.com.au> wrote in message
news:3d0e55b6$1@10.1.10.29...
> ... <snip> ...
> I forgot AndAlso and OrElse.
>

I thought it was pretty cool that they decided to short-circuit And & Or in
the beta. Initially, I was pissed that they added the new AndAlso and Orelse
keywords to placate all the whiners, but after some thought, I decided it
wasn't a bad solution at all.

Where would this ng be now if MSFT had decided to do more of this (i.e.
adding functionality as opposed to replacing or removing it)? Then again,
what kind of unwieldy chimeric beast would we end up with if MSFT actually
did that? Tough call.

Tim

Michael Culley
06-17-2002, 09:46 PM
I'm not sure which way would have been best but there is one problem I
noticed with creating these new keywords instead of replacing. The problem
is that in order to do things the 'better' method you should almost always
use AndAlso and OrElse, I mean why not use them, they are more efficient. So
now we have to remember to use them all the time and a bit extra typing is
reqd.

> Where would this ng be now if MSFT had decided to do more of this (i.e.
> adding functionality as opposed to replacing or removing it)? Then again,
> what kind of unwieldy chimeric beast would we end up with if MSFT actually
> did that? Tough call.

I think it was time to give VB a huge overhaul, just they could have written
a better upgrade wizard. It would be interesting if someone wrote a vb6 to
java converter that was better than the .net converter, it would actually be
easier to move to java than vb7 (not really knowing java I've no idea if
this is feasible).

Michael Culley

Phil Weber
06-17-2002, 10:06 PM
> It would be interesting if someone wrote a VB6 to java
> converter that was better than the .NET converter, it would
> actually be easier to move to java than VB7...

Michael: There is reportedly a VB6-to-Delphi conversion tool that works much
better than the VB.NET Conversion Wizard. Ask Dan Barclay about it.
---
Phil Weber

Eddie Burdak
06-18-2002, 03:34 AM
Michael,

>> We know it doesn't port VB6 programes without a few spew bags on
the
>> way so what do you really mean by this?
>
> You can still add a form to a project, drag on some control, double
> click the control and write some code, just like vb6.

and thats virtually where the similarity ends. Strangely I can do that
in Delphi too but I wouldn't say its the same at all.

Eddie

Michael Culley
06-18-2002, 03:43 AM
Ah, no, thats not where the similarity ends. The code is still pretty much
the same, especially if you reference the VisualBasic library.

--
Michael Culley
www.vbdotcom.com


"Eddie Burdak" <eburdak@pilatus-aircraft.com> wrote in message
news:3d0edde9@10.1.10.29...
> Michael,
>
> >> We know it doesn't port VB6 programes without a few spew bags on
> the
> >> way so what do you really mean by this?
> >
> > You can still add a form to a project, drag on some control, double
> > click the control and write some code, just like vb6.
>
> and thats virtually where the similarity ends. Strangely I can do that
> in Delphi too but I wouldn't say its the same at all.
>
> Eddie
>

Mike Mitchell
06-18-2002, 04:12 AM
On Mon, 17 Jun 2002 19:06:06 -0700, "Phil Weber"
<pweber@nospam.fawcette.com> wrote:

>Michael: There is reportedly a VB6-to-Delphi conversion tool that works much
>better than the VB.NET Conversion Wizard. Ask Dan Barclay about it.

I tried the standard version, which recently came free on a magazine
cover CD. It wasn't very impressive in what it could convert. Also,
their web site hasn't been updated in ages, so I just wonder whether
this is a serious outfit.

MM

Eddie Burdak
06-18-2002, 07:37 AM
Michael,

"Michael Culley" <mculley@optushome.com.au> wrote in message
news:3d0edfe0@10.1.10.29...
> Ah, no, thats not where the similarity ends. The code is still
pretty much
> the same, especially if you reference the VisualBasic library.

Actually yes - that is where it ends. Either that or the import Wizard
is well buggered. The number of items I have to change means it makes
more sense to start from scratch

Eddie

Michael Culley
06-19-2002, 06:32 AM
I'd agree with you that the import wizard isn't that crash hot.

--
Michael Culley
www.vbdotcom.com


"Eddie Burdak" <eburdak@pilatus-aircraft.com> wrote in message
news:3d0f16c7$1@10.1.10.29...
> Michael,
>
> "Michael Culley" <mculley@optushome.com.au> wrote in message
> news:3d0edfe0@10.1.10.29...
> > Ah, no, thats not where the similarity ends. The code is still
> pretty much
> > the same, especially if you reference the VisualBasic library.
>
> Actually yes - that is where it ends. Either that or the import Wizard
> is well buggered. The number of items I have to change means it makes
> more sense to start from scratch
>
> Eddie
>
>

Michael Culley
06-19-2002, 08:31 PM
MM didn't really respond to this post, thats as close as you get to
agreement with mike.

--
Michael Culley
www.vbdotcom.com

Mike Mitchell
06-20-2002, 06:08 AM
On Thu, 20 Jun 2002 10:31:59 +1000, "Michael Culley"
<mculley@optushome.com.au> wrote:

>MM didn't really respond to this post, thats as close as you get to
>agreement with mike.

It was hardly worth pursuing World War III over a little thing like
With. WWIII should be reserved for really bad decisions, like not
including edit-and-continue!

MM

Michael Culley
06-20-2002, 06:59 AM
> It was hardly worth pursuing World War III over a little thing like
> With.

We were talking about With in a different thread.


> WWIII should be reserved for really bad decisions, like not
> including edit-and-continue!

So when .net gets edit and continue you will start to use it?

--
Michael Culley
www.vbdotcom.com


"Mike Mitchell" <kylix_is@yahoo.co.uk> wrote in message
news:3d11a937.2038998@news.devx.com...
> On Thu, 20 Jun 2002 10:31:59 +1000, "Michael Culley"
> <mculley@optushome.com.au> wrote:
>
> >MM didn't really respond to this post, thats as close as you get to
> >agreement with mike.
>
> It was hardly worth pursuing World War III over a little thing like
> With. WWIII should be reserved for really bad decisions, like not
> including edit-and-continue!
>
> MM

Mike Mitchell
06-20-2002, 02:58 PM
On Thu, 20 Jun 2002 20:59:35 +1000, "Michael Culley"
<m_culley@hotmail.com> wrote:

>So when .net gets edit and continue you will start to use it?

Ah, no!

MM

james
06-20-2002, 04:07 PM
Michael should have guessed the answer to that one to begin with !
james
"Mike Mitchell" <kylix_is@yahoo.co.uk> wrote in message
news:3d1225a2.1061385@news.devx.com...
> On Thu, 20 Jun 2002 20:59:35 +1000, "Michael Culley"
> <m_culley@hotmail.com> wrote:
>
> >So when .net gets edit and continue you will start to use it?
>
> Ah, no!
>
> MM

Michael Culley
06-20-2002, 05:11 PM
I wasn't expecting a yes :--)

--
Michael Culley
www.vbdotcom.com


"james" <jamesw2@mesh.net> wrote in message news:3d123157@10.1.10.29...
> Michael should have guessed the answer to that one to begin with !
> james
> "Mike Mitchell" <kylix_is@yahoo.co.uk> wrote in message
> news:3d1225a2.1061385@news.devx.com...
> > On Thu, 20 Jun 2002 20:59:35 +1000, "Michael Culley"
> > <m_culley@hotmail.com> wrote:
> >
> > >So when .net gets edit and continue you will start to use it?
> >
> > Ah, no!
> >
> > MM
>
>

Mike Mitchell
06-20-2002, 07:12 PM
On Thu, 20 Jun 2002 15:07:41 -0500, "james" <jamesw2@mesh.net> wrote:

>Michael should have guessed the answer to that one to begin with !

Not necessarily. You always want the girl to say "I do", even though
you know she's pregnant.

MM

John Butler
06-20-2002, 07:59 PM
"Michael Culley" <m_culley@hotmail.com> wrote in message
news:3d10581e$1@10.1.10.29...
> I'd agree with you that the import wizard isn't that crash hot.

Understatement...Ed's right...it's "well buggered". Version 2 _might_ be
better though....until then re-write your code if you have to, or leave it
in VB6.

John Butler
06-20-2002, 08:03 PM
But you'll have one less thing to whine about...what a crappy day that will
be for you huh?

FWIW I really don't miss break-edit-continue that much......<cheap dig>maybe
I make less mistakes than you do </cheap dig>

rgds
John Butler

"Mike Mitchell" <kylix_is@yahoo.co.uk> wrote in message
news:3d1225a2.1061385@news.devx.com...
> On Thu, 20 Jun 2002 20:59:35 +1000, "Michael Culley"
> <m_culley@hotmail.com> wrote:
>
> >So when .net gets edit and continue you will start to use it?
>
> Ah, no!
>
> MM

Michael Culley
06-20-2002, 08:34 PM
> FWIW I really don't miss break-edit-continue that much......<

I miss it heaps, I dislike restarting to make the smallest of changes, but
all the other great features of dotnet more than make up for it.

--
Michael Culley
www.vbdotcom.com

james
06-20-2002, 10:07 PM
Mike, in this case we already know your pregnant. And we already know that
you won't even try VB.NET. Even with Edit and Continue. So, why bother
even asking you these questions anymore.
james


"Mike Mitchell" <kylix_is@yahoo.co.uk> wrote in message
news:3d12613f.16324761@news.devx.com...
> On Thu, 20 Jun 2002 15:07:41 -0500, "james" <jamesw2@mesh.net> wrote:
>
> >Michael should have guessed the answer to that one to begin with !
>
> Not necessarily. You always want the girl to say "I do", even though
> you know she's pregnant.
>
> MM

Mike Mitchell
06-21-2002, 08:45 AM
On Thu, 20 Jun 2002 21:07:28 -0500, "james" <jamesw2@mesh.net> wrote:

>Mike, in this case we already know your pregnant. And we already know that
>you won't even try VB.NET. Even with Edit and Continue. So, why bother
>even asking you these questions anymore.

Dunno! You're the one asking!

MM

Mike Mitchell
06-21-2002, 08:54 AM
On Fri, 21 Jun 2002 01:03:49 +0100, "John Butler"
<nospamjrbutler@btinternet.com> wrote:

>FWIW I really don't miss break-edit-continue that much......<cheap dig>maybe
>I make less mistakes than you do </cheap dig>

Edit-and-continue is not just about debugging. It can be used as an
experimental tool, much like you might use a scanner to home in on a
particular radio wave. It allows you to do "what-if" empirical
try-outs on the fly while buried deep in your 100 Terabyte database
that you don't want to rewind from the beginning unnecessarily. It is
something that has been around as a major usability feature in classic
VB for, like, ever, so the fact that you can exist without it makes no
difference to a huge number of users who *do* miss it. And the more
you and others who hold the same view say that you can do without it,
the less likely it will be for Microsoft to put it back in a future
version.

MM

Patrick Steele [MVP]
06-21-2002, 09:23 AM
In article <3d131fe6.5976658@news.devx.com> (from Mike Mitchell
<kylix_is@yahoo.co.uk>),
> And the more
> you and others who hold the same view say that you can do without it,
> the less likely it will be for Microsoft to put it back in a future
> version.

CLUE: VS.NET already had a version of edit-and-continue in one of the
betas.

It was dropped due to time constraints and it's my understanding that
it's one of the top features Microsoft wants to get into v2. And
they'll be putting it into VS.NET (not just VB.NET) so all .NET
languages can benefit from this feature.

--
Patrick Steele
Microsoft .NET MVP