473,756 Members | 6,852 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why did Microsoft Ruin Visual Basic?

Visual Studio .NET is not more efficient to write than
VB6. I can write a VB6 App at least twice as fast as
in .NET. Why did Microsoft ruin the syntax advantage of
VB6 in .NET?
Jul 21 '05
44 2097
Scott M. <s-***@BADSPAMsnet .net> wrote:
You are correct that one process can be running many threads within it. My
point was that since much of the "grunt" work of a .NET application is done
in its own thread, the main application is not encumbered by the Framework
doing its thing and in a VB 6 application, you would have everything
happening in one thread.


You give the impression that "the framework" is running in one thread,
and the application is done in another, why is entirely inaccurate.
*All* the threads in an app are running "the framework", other than
those which entirely run unmanaged code.

If you mean that the GUI thread is easily separated from worker
threads, I agree with you - but that's a very different matter.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jul 21 '05 #31

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Scott M. <s-***@BADSPAMsnet .net> wrote:
You are correct that one process can be running many threads within it. My point was that since much of the "grunt" work of a .NET application is done in its own thread, the main application is not encumbered by the Framework doing its thing and in a VB 6 application, you would have everything
happening in one thread.
You give the impression that "the framework" is running in one thread,
and the application is done in another, why is entirely inaccurate.


Well no, not really. The GC for example runs within the framework and in a
different thread than the .NET application it services. This is beneficial
because when the GC kicks in to do its thing, it does not impede the thread
the main application is running in. This is one of the reasons not to
invoke the GC directly from within a .NET application. If you do, you will
bring the GC's processing into the main application's thread and possibly
reduce its performance.
*All* the threads in an app are running "the framework", other than
those which entirely run unmanaged code.

If you mean that the GUI thread is easily separated from worker
threads, I agree with you - but that's a very different matter.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Jul 21 '05 #32
Scott M. <s-***@BADSPAMsnet .net> wrote:
You give the impression that "the framework" is running in one thread,
and the application is done in another, why is entirely inaccurate.


Well no, not really. The GC for example runs within the framework and in a
different thread than the .NET application it services.


Well, potentially - depending on machine configuration - but that's
very different from giving the impression that the *whole* framework
runs in a different thread. There are *lots* of threads (potentially)
some of which may be running your own code, some of which may be
running "purely framework" code - but you're unlikely to get very far
in *any* thread without running "framework code".

Basically I'm not at all sure what your argument about comparing .NET
to VB is here, because it seems somewhat confused.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jul 21 '05 #33
One a single CPU, it makes a difference.

Why do so many people think Threads = concurrency on a single proc?`
Probably the worlds largest misconception
"Scott M." <s-***@BADSPAMsnet .net> wrote in message
news:#c******** ******@TK2MSFTN GP11.phx.gbl...

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Scott M. <s-***@BADSPAMsnet .net> wrote:
You are correct that one process can be running many threads within
it.
My point was that since much of the "grunt" work of a .NET application is done in its own thread, the main application is not encumbered by the Framework doing its thing and in a VB 6 application, you would have everything
happening in one thread.
You give the impression that "the framework" is running in one thread,
and the application is done in another, why is entirely inaccurate.


Well no, not really. The GC for example runs within the framework and in

a different thread than the .NET application it services. This is beneficial because when the GC kicks in to do its thing, it does not impede the thread the main application is running in. This is one of the reasons not to
invoke the GC directly from within a .NET application. If you do, you will bring the GC's processing into the main application's thread and possibly
reduce its performance.
*All* the threads in an app are running "the framework", other than
those which entirely run unmanaged code.

If you mean that the GUI thread is easily separated from worker
threads, I agree with you - but that's a very different matter.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too


Jul 21 '05 #34
> Quite simple: They didn't.

Exactly. Microsoft didn't ruin VB6 at all. VB6 hasn't changed, and most
likley will not change - it will always be VB6 ;) If you don't like VB.net,
then Microsoft hasn't stopped you from using VB6 if you want to.

"Jerry Ham" <Ye************ ********@Not.co m> wrote in message
news:Of******** ******@tk2msftn gp13.phx.gbl...
Quite simple: They didn't.

"Truble" <an*******@disc ussions.microso ft.com> wrote in message
news:06******** *************** *****@phx.gbl.. .
Visual Studio .NET is not more efficient to write than
VB6. I can write a VB6 App at least twice as fast as
in .NET. Why did Microsoft ruin the syntax advantage of
VB6 in .NET?


Jul 21 '05 #35
<di********@dis cussion.microso ft.com> wrote:
One a single CPU, it makes a difference.

Why do so many people think Threads = concurrency on a single proc?`
Probably the worlds largest misconception


Well, threads *do* make it easy *sort* of do two things at once, so
long as one of them is "waiting for something else to happen". Even on
a single processor, correct use of threads is enormously important.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jul 21 '05 #36

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Scott M. <s-***@BADSPAMsnet .net> wrote:
You give the impression that "the framework" is running in one thread,
and the application is done in another, why is entirely inaccurate.
Well no, not really. The GC for example runs within the framework and in a different thread than the .NET application it services.


Well, potentially - depending on machine configuration - but that's
very different from giving the impression that the *whole* framework
runs in a different thread. There are *lots* of threads (potentially)
some of which may be running your own code, some of which may be
running "purely framework" code - but you're unlikely to get very far
in *any* thread without running "framework code".

Basically I'm not at all sure what your argument about comparing .NET
to VB is here, because it seems somewhat confused.


Jon, my point is very simple, but your too close to the fire to see the
flame. In a VB 6 application, you not only had to write code for your app
to work, but you also had to write additional code for "housekeepi ng"
purposes and all that code ran in a single thread (usually).

In .NET, there is a very distinct separation between what you have to write
and what is already written into the Framework. And, as is the case with the
GC, you have the ability to put different actions into different threads.

This is a very simple point, but you've been "picking" at the definition of
process and thread, which is useful to understand but not the point of the
original post.


--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Jul 21 '05 #37
Scott M. <s-***@BADSPAMsnet .net> wrote:
Basically I'm not at all sure what your argument about comparing .NET
to VB is here, because it seems somewhat confused.


Jon, my point is very simple, but your too close to the fire to see the
flame. In a VB 6 application, you not only had to write code for your app
to work, but you also had to write additional code for "housekeepi ng"
purposes and all that code ran in a single thread (usually).

In .NET, there is a very distinct separation between what you have to write
and what is already written into the Framework. And, as is the case with the
GC, you have the ability to put different actions into different threads.

This is a very simple point, but you've been "picking" at the definition of
process and thread, which is useful to understand but not the point of the
original post.


It strikes me you've got three points here:

1) .NET provides good multi-threading capabilities
2) .NET gives a good garbage collection system
3) .NET has a very extensive library which does a lot of things you may
have had to write yourself beforehand

All those three things are true, but you seem to be conflating them
when they are very separate things.

(In terms of GC occurring in separate threads, I believe the "normal"
CLR actually has a stop-the-world GC - it's finalization that occurs in
another thread. A different CLR typically used on multi-processor
machines has a concurrent GC.)

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jul 21 '05 #38
One a single CPU does it bloody matter , its stop the world anyway. Geez.
"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** @msnews.microso ft.com...
Scott M. <s-***@BADSPAMsnet .net> wrote:
Basically I'm not at all sure what your argument about comparing .NET
to VB is here, because it seems somewhat confused.


Jon, my point is very simple, but your too close to the fire to see the
flame. In a VB 6 application, you not only had to write code for your app to work, but you also had to write additional code for "housekeepi ng"
purposes and all that code ran in a single thread (usually).

In .NET, there is a very distinct separation between what you have to write and what is already written into the Framework. And, as is the case with the GC, you have the ability to put different actions into different threads.
This is a very simple point, but you've been "picking" at the definition of process and thread, which is useful to understand but not the point of the original post.


It strikes me you've got three points here:

1) .NET provides good multi-threading capabilities
2) .NET gives a good garbage collection system
3) .NET has a very extensive library which does a lot of things you may
have had to write yourself beforehand

All those three things are true, but you seem to be conflating them
when they are very separate things.

(In terms of GC occurring in separate threads, I believe the "normal"
CLR actually has a stop-the-world GC - it's finalization that occurs in
another thread. A different CLR typically used on multi-processor
machines has a concurrent GC.)

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Jul 21 '05 #39
Jon, you're right in what you say, but again, you are missing the point.
Look at the subject of this thread. I'm trying to point out the advantages
of VB.NET over VB 6.0.

In today's world, it is not uncommon to work with more than one processor or
HyperThreaded processors. A VB 6.0 app would have a hard time taking
advantage of this. In .NET, this can be leveraged and is certainly ONE of
the many advantages of VB.NET.
"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** @msnews.microso ft.com...
Scott M. <s-***@BADSPAMsnet .net> wrote:
Basically I'm not at all sure what your argument about comparing .NET
to VB is here, because it seems somewhat confused.


Jon, my point is very simple, but your too close to the fire to see the
flame. In a VB 6 application, you not only had to write code for your app to work, but you also had to write additional code for "housekeepi ng"
purposes and all that code ran in a single thread (usually).

In .NET, there is a very distinct separation between what you have to write and what is already written into the Framework. And, as is the case with the GC, you have the ability to put different actions into different threads.
This is a very simple point, but you've been "picking" at the definition of process and thread, which is useful to understand but not the point of the original post.


It strikes me you've got three points here:

1) .NET provides good multi-threading capabilities
2) .NET gives a good garbage collection system
3) .NET has a very extensive library which does a lot of things you may
have had to write yourself beforehand

All those three things are true, but you seem to be conflating them
when they are very separate things.

(In terms of GC occurring in separate threads, I believe the "normal"
CLR actually has a stop-the-world GC - it's finalization that occurs in
another thread. A different CLR typically used on multi-processor
machines has a concurrent GC.)

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Jul 21 '05 #40

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

Similar topics

44
1226
by: Truble | last post by:
Visual Studio .NET is not more efficient to write than VB6. I can write a VB6 App at least twice as fast as in .NET. Why did Microsoft ruin the syntax advantage of VB6 in .NET?
0
9384
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
1
9779
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9645
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7186
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6473
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5069
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5247
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3276
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2612
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.