473,883 Members | 1,874 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

VB6 easier than VB.NET?

In some recent posts, I've seen people who seem to be waxing nostalgic with
respect to the "ease of use" of Visual Basic 6. I can't quite put my finger
on it, but they seem to be implying that VB6 was simpler to use than VB.NET,
that it was somehow easier to write programs in VB6 than in VB.NET. I have
to admit I'm astonished by this attitude. I can't see any rationality to
the idea that, on the whole, VB6 is easier than VB.NET.

I *can* see where someone who is entrenched in the VB6 language would find
the switch to VB.NET daunting. (VB.NET is, after all, a major departure
from VB6.) But what I can't see is someone making the judgment, from an
objective standpoint, that VB6 is easier than VB.NET. In other words, just
because *you* happen to be so much more familiar with the collective set of
eccentricities, peculiarities, and inconsistencies that is known as Visual
Basic 6 that you can write applications faster in VB6 than VB.NET, it
doesn't mean that VB6 is easier.

I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just want
to get in there and write some code; I don't want to have to worry about all
of that OO crap." Perhaps the principle holds true for the "Hello World"
type of application, but for any non-trivial application, I just don't see
how the well-ordered, clean, and consistent implementation of OO principles
in the .NET framework couldn't be seen as an easier environment in which to
develop.

I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case, which
would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET
would be easier. In my opinion, in a relatively short period of time, I
could teach someone the principles of object oriented programming and the
basic layout of the .NET Framework. But if I applied this same amount of
time to teaching someone VB6 from scratch, I'd get so bogged down in telling
them about all of the quirks, workarounds, and exceptions-to-the-rule that
I'd run out of time before I could even get through the basics. (I wouldn't
even want to call this type of knowledge transfer "teaching". )

The point is that even though there might be an initially steeper learning
curve to get past the principles of object oriented programming, once you
have the "OO epiphany" and truly grok the principles, the rest is smooth
sailing. But with VB6, you may get up and running a bit faster, but your
daily process of coding is so taken up by finding workarounds to a seemingly
endless series of quirky behaviors or things that just don't operate how you
think they would, that the overall development time is actually much longer.

So, are there people out there that really think VB6 is easier than VB.NET?
Why? Do you think it depends on the size of the project? Are there other
factors? Help me understand because I just don't get this attitude.

- Mitchell S. Honnert
Nov 21 '05 #1
66 3754
In some respects VB6 was simpler than .NET, but .NET has a lot more
functionality in it that you many times had to kludge your way through with
VB6.

VB.NET's support for OO programming, when coming from a VB6 background, does
provide a learning curve to non-OO programmers... and a lot of VB
programmers were really in their comfort zone with 6. But the switch to OO
programming is well worth it, and most people probably discover that .NET
provides a lot of great new functionality and improvements once you stop
trying to do things the VB6 way...

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > wrote in message
news:OA******** ******@TK2MSFTN GP09.phx.gbl...
In some recent posts, I've seen people who seem to be waxing nostalgic
with respect to the "ease of use" of Visual Basic 6. I can't quite put my
finger on it, but they seem to be implying that VB6 was simpler to use
than VB.NET, that it was somehow easier to write programs in VB6 than in
VB.NET. I have to admit I'm astonished by this attitude. I can't see any
rationality to the idea that, on the whole, VB6 is easier than VB.NET.

I *can* see where someone who is entrenched in the VB6 language would find
the switch to VB.NET daunting. (VB.NET is, after all, a major departure
from VB6.) But what I can't see is someone making the judgment, from an
objective standpoint, that VB6 is easier than VB.NET. In other words,
just because *you* happen to be so much more familiar with the collective
set of eccentricities, peculiarities, and inconsistencies that is known as
Visual Basic 6 that you can write applications faster in VB6 than VB.NET,
it doesn't mean that VB6 is easier.

I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just want
to get in there and write some code; I don't want to have to worry about
all of that OO crap." Perhaps the principle holds true for the "Hello
World" type of application, but for any non-trivial application, I just
don't see how the well-ordered, clean, and consistent implementation of OO
principles in the .NET framework couldn't be seen as an easier environment
in which to develop.

I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case, which
would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET
would be easier. In my opinion, in a relatively short period of time, I
could teach someone the principles of object oriented programming and the
basic layout of the .NET Framework. But if I applied this same amount of
time to teaching someone VB6 from scratch, I'd get so bogged down in
telling them about all of the quirks, workarounds, and
exceptions-to-the-rule that I'd run out of time before I could even get
through the basics. (I wouldn't even want to call this type of knowledge
transfer "teaching". )

The point is that even though there might be an initially steeper learning
curve to get past the principles of object oriented programming, once you
have the "OO epiphany" and truly grok the principles, the rest is smooth
sailing. But with VB6, you may get up and running a bit faster, but your
daily process of coding is so taken up by finding workarounds to a
seemingly endless series of quirky behaviors or things that just don't
operate how you think they would, that the overall development time is
actually much longer.

So, are there people out there that really think VB6 is easier than
VB.NET? Why? Do you think it depends on the size of the project? Are
there other factors? Help me understand because I just don't get this
attitude.

- Mitchell S. Honnert

Nov 21 '05 #2
> a lot of VB programmers were really in their comfort zone with 6.
You've hit on one of main points of my thoughts on this topic. I
hypothesize that the people who think that VB6 is easier than VB.NET are
those who were/are "in the VB6 zone". They had become accustomed to all of
the workarounds necessary to get anything done in VB6, so they mistakenly
believe that VB6 is easier because it's easier for *them*. The thing is, I
wouldn't want to be thought of as a good programmer because I know the
mystical tricks to get my language of choice to do the things it's supposed
to do out of the box. I don't want to be a voodoo programmer. I'd much
rather spend that time learning more about the language. Even if it means
some additional up-front work.

- Mitchell S. Honnert
"Michael C#" <xy*@yomomma.co m> wrote in message
news:eg******** *****@TK2MSFTNG P15.phx.gbl...
In some respects VB6 was simpler than .NET, but .NET has a lot more
functionality in it that you many times had to kludge your way through
with VB6.

VB.NET's support for OO programming, when coming from a VB6 background,
does provide a learning curve to non-OO programmers... and a lot of VB
programmers were really in their comfort zone with 6. But the switch to
OO programming is well worth it, and most people probably discover that
.NET provides a lot of great new functionality and improvements once you
stop trying to do things the VB6 way...

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > wrote in message
news:OA******** ******@TK2MSFTN GP09.phx.gbl...
In some recent posts, I've seen people who seem to be waxing nostalgic
with respect to the "ease of use" of Visual Basic 6. I can't quite put
my finger on it, but they seem to be implying that VB6 was simpler to use
than VB.NET, that it was somehow easier to write programs in VB6 than in
VB.NET. I have to admit I'm astonished by this attitude. I can't see
any rationality to the idea that, on the whole, VB6 is easier than
VB.NET.

I *can* see where someone who is entrenched in the VB6 language would
find the switch to VB.NET daunting. (VB.NET is, after all, a major
departure from VB6.) But what I can't see is someone making the
judgment, from an objective standpoint, that VB6 is easier than VB.NET.
In other words, just because *you* happen to be so much more familiar
with the collective set of eccentricities, peculiarities, and
inconsistencies that is known as Visual Basic 6 that you can write
applications faster in VB6 than VB.NET, it doesn't mean that VB6 is
easier.

I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just
want to get in there and write some code; I don't want to have to worry
about all of that OO crap." Perhaps the principle holds true for the
"Hello World" type of application, but for any non-trivial application, I
just don't see how the well-ordered, clean, and consistent implementation
of OO principles in the .NET framework couldn't be seen as an easier
environment in which to develop.

I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case,
which would be easier, VB6 or VB.NET? There's not doubt in my mind that
VB.NET would be easier. In my opinion, in a relatively short period of
time, I could teach someone the principles of object oriented programming
and the basic layout of the .NET Framework. But if I applied this same
amount of time to teaching someone VB6 from scratch, I'd get so bogged
down in telling them about all of the quirks, workarounds, and
exceptions-to-the-rule that I'd run out of time before I could even get
through the basics. (I wouldn't even want to call this type of knowledge
transfer "teaching". )

The point is that even though there might be an initially steeper
learning curve to get past the principles of object oriented programming,
once you have the "OO epiphany" and truly grok the principles, the rest
is smooth sailing. But with VB6, you may get up and running a bit
faster, but your daily process of coding is so taken up by finding
workarounds to a seemingly endless series of quirky behaviors or things
that just don't operate how you think they would, that the overall
development time is actually much longer.

So, are there people out there that really think VB6 is easier than
VB.NET? Why? Do you think it depends on the size of the project? Are
there other factors? Help me understand because I just don't get this
attitude.

- Mitchell S. Honnert


Nov 21 '05 #3
On 2005-03-24, Mitchell S. Honnert <news@honnert~R ~E~M~O~V~E~.com > wrote:
In some recent posts, I've seen people who seem to be waxing nostalgic with
respect to the "ease of use" of Visual Basic 6. I can't quite put my finger
on it, but they seem to be implying that VB6 was simpler to use than VB.NET,
that it was somehow easier to write programs in VB6 than in VB.NET. I have
to admit I'm astonished by this attitude. I can't see any rationality to
the idea that, on the whole, VB6 is easier than VB.NET.
I don't want to generalize about what others have said, because there's
a very wide range of opinions on this subject, but I'd say VB6 was
definitely easier to learn, especially for beginners and
non-programmers.
I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just want
to get in there and write some code; I don't want to have to worry about all
of that OO crap." Perhaps the principle holds true for the "Hello World"
type of application, but for any non-trivial application, I just don't see
how the well-ordered, clean, and consistent implementation of OO principles
in the .NET framework couldn't be seen as an easier environment in which to
develop.
"Non-trivial" is a relative term. There's lots of small apps out there
that seem trivial to me, but are treated like the Holy Grail in small
offices. And these are very valuable productivity-enhancing
applications, usually written by somebody who picked up a little VB.
There's really no reasonable consultant market for things like this: I
could write the app in less than a day if I knew what to write, but it
would take me six weeks to learn the business process that needs to be
automated.

VB was perfect for these kinds of things, because it could be very
forgiving of a certain lack of understanding. Consider something basic,
the difference between a class and an instance of a class. People could
write very useful apps without understanding this because VB blurred the
distinction where forms were concerned. You could drag buttons onto a
form, write little event handlers, maybe even do some DB work without
ever really grasping the big picture.

That's much tougher in .NET. VB.Net still hides complexity a little,
but the idea of class and instances and scope and visibility and stuff
like that pops up pretty quickly.
I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case, which
would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET
would be easier. In my opinion, in a relatively short period of time, I
could teach someone the principles of object oriented programming and the
basic layout of the .NET Framework. But if I applied this same amount of
time to teaching someone VB6 from scratch, I'd get so bogged down in telling
them about all of the quirks, workarounds, and exceptions-to-the-rule that
I'd run out of time before I could even get through the basics. (I wouldn't
even want to call this type of knowledge transfer "teaching". )


On the flipside, let's say you did write this one-day application I
mentioned above. You wrote it in six hours and now you have two hours
to hand it over to the "technical" person in the office for ongoing
support (because they can't afford to call you back for new features).
This person has maybe done a few Word macros, can do fairly advanced
spreadsheet functions in Excel, etc.

What's easier to explain, the code behind a VB6 form, or a full-fledged
OOP app in .Net? I think the VB6 app would be much easier to explain
in a limited time.

Nov 21 '05 #4
"Comfort Zone"

In this whole recent, (dare I call it one), 'debate', this is the phrase
that has been missing.

As a species (homo sapien), we are comfortable with what we know. The
inverse is also true - we are NOT comfortable with what we DON'T know. This
truism has been proved again and again throughout the course of history.
Because of this, change tends to resisted, (especially in the early stages),
until such time as there is a widespread understanding of the 'technology'
behind the change. Once such change becomes generally accepted, there are
still some who resist further. In the end, those who 'change' prosper and
those who resist, don't. This is the nature of the evolution of the species
and the evolution of technology.

A case in point is the rise of 'Cro Magnon' as the dominant species which
became modern humans and the demise of 'Neandethal' man. The Neanderthal's
were, for what ever reason, unable to change and consequently the species
did not survive.

In the late 18th and early 19th centuries, we saw a movement, known as the
Luddites, who bitterly resisted industrialisati on of the weaving industry.
Not only were they vociferous in their opposition, they went as far as
vandalising and destroying the 'modern' weaving machines that were being
developed at the time. Can you really imagine where we would be without the
range of textiles that we take for granted in our everyday life if they had
succeeded? The word 'luddite' has since entered our language to mean someone
who unreasonably resists change. If I remember some middle 19th century
history correctly a Western Union 'boss' was attributed as saying "I can't
see any practical use for it, now or in the future" when refering to
Alexander Graham Bell's new invention (the telephone).

More recently we have also seen a trend towards a way of thinking that
kmakes the rights of the individual sacrosant. Don't get me wrong here, the
rights of the indivuadual are important! I do, however, find this trend
disturbing because the rights of the individual are being attributed a
higher importance than the good of the whole. My view is that being able to
enjoy indivdual rights brings obligations that the individual owes to
society as a whole. The latin phrase 'quid pro quo' translated as 'something
for something' springs to mind as being appropriate here.

During this debate I have seen a lot of hand-wringing, roughly paraphrased
and reading between the lines as "How dare Microsoft take a business
decision that, in my view, puts the longevity of my personal library of VB6
code at risk" and "How dare Microsoft NOT provide (for free) a mechanism
that will automatically convert my personal library of esoteric VB6
procedures into perfect VB.NET code". To those for whom the cap fits - all I
can say is "Get off your backsides and join the real world."

I believe that the late John F. Kennedy put it quite succinctly when he said
"Ask not what your country can do for you, ask what can you do for your
country." (Apologies for any misquote.) In this case I doon't think he would
have minded a small bit of plagarism:

Ask not what your industry can do for you, ask what can you do for your
industry.
"Michael C#" <xy*@yomomma.co m> wrote in message
news:eg******** *****@TK2MSFTNG P15.phx.gbl...
In some respects VB6 was simpler than .NET, but .NET has a lot more
functionality in it that you many times had to kludge your way through
with VB6.

VB.NET's support for OO programming, when coming from a VB6 background,
does provide a learning curve to non-OO programmers... and a lot of VB
programmers were really in their comfort zone with 6. But the switch to
OO programming is well worth it, and most people probably discover that
.NET provides a lot of great new functionality and improvements once you
stop trying to do things the VB6 way...

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > wrote in message
news:OA******** ******@TK2MSFTN GP09.phx.gbl...
In some recent posts, I've seen people who seem to be waxing nostalgic
with respect to the "ease of use" of Visual Basic 6. I can't quite put
my finger on it, but they seem to be implying that VB6 was simpler to use
than VB.NET, that it was somehow easier to write programs in VB6 than in
VB.NET. I have to admit I'm astonished by this attitude. I can't see
any rationality to the idea that, on the whole, VB6 is easier than
VB.NET.

I *can* see where someone who is entrenched in the VB6 language would
find the switch to VB.NET daunting. (VB.NET is, after all, a major
departure from VB6.) But what I can't see is someone making the
judgment, from an objective standpoint, that VB6 is easier than VB.NET.
In other words, just because *you* happen to be so much more familiar
with the collective set of eccentricities, peculiarities, and
inconsistencies that is known as Visual Basic 6 that you can write
applications faster in VB6 than VB.NET, it doesn't mean that VB6 is
easier.

I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just
want to get in there and write some code; I don't want to have to worry
about all of that OO crap." Perhaps the principle holds true for the
"Hello World" type of application, but for any non-trivial application, I
just don't see how the well-ordered, clean, and consistent implementation
of OO principles in the .NET framework couldn't be seen as an easier
environment in which to develop.

I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case,
which would be easier, VB6 or VB.NET? There's not doubt in my mind that
VB.NET would be easier. In my opinion, in a relatively short period of
time, I could teach someone the principles of object oriented programming
and the basic layout of the .NET Framework. But if I applied this same
amount of time to teaching someone VB6 from scratch, I'd get so bogged
down in telling them about all of the quirks, workarounds, and
exceptions-to-the-rule that I'd run out of time before I could even get
through the basics. (I wouldn't even want to call this type of knowledge
transfer "teaching". )

The point is that even though there might be an initially steeper
learning curve to get past the principles of object oriented programming,
once you have the "OO epiphany" and truly grok the principles, the rest
is smooth sailing. But with VB6, you may get up and running a bit
faster, but your daily process of coding is so taken up by finding
workarounds to a seemingly endless series of quirky behaviors or things
that just don't operate how you think they would, that the overall
development time is actually much longer.

So, are there people out there that really think VB6 is easier than
VB.NET? Why? Do you think it depends on the size of the project? Are
there other factors? Help me understand because I just don't get this
attitude.

- Mitchell S. Honnert


Nov 21 '05 #5
I'm just dipping in here because this thread caught my attention.

It sounds like David and I have had some similar experiences. I have seen
these "trivial" applications in small offices, and some in big offices, and
I have to say that they worry me. I quite agree with the idea that someone
who considers themselves a professional programmer might write such a
program in less than a day, but that it would take six weeks to understand
the business processes involved. I have been in that situation.

However, just understanding the business process is not enough. The trivial
programs I have seen, written in small and big offices, don't follow even
the simplest of programming principles. The best thing for all concerned
would be if the program were to crash, and then it would be clear that it
had failed. In reality though, the program churns out numbers that, after
some rudimentary testing appear to be correct, and thereafter are taken as
gospel.

The use to which these numbers are put may be low risk, but frequently they
are not. Often a program written by the chap in the corner office starts
life as a spreadsheet, or a database in Access, but before long the whole
company depends on this trivial program, and its function grows out of all
proportion to its original intended purpose. Such programs are not
controlled or documented, and even the person who wrote it has little clue
what it does six months later.

This is where I believe that VB.NET is an improvement over VB6. It requires
that someone using it understand that bit more about the language and how to
program with it, but once they do, it hopefully helps them to structure
their work a bit better.

It is true that a bad programmer can write rubbish in any language, and
ultimately that will be the same for VB.NET. Perhaps what I am saying is
that we should be wary of people who dabble in programming; a little
knowledge is a dangerous thing. We all like a bit of DIY (well, I don't, but
I gather it is quite popular), but there should be limits to which we should
go. If we all fitted our own gas central heating, there would be an
explosion every day in our neighbourhood.

Charles
"David" <df*****@woofix .local.dom> wrote in message
news:slrnd45u5a .8tq.df*****@wo ofix.local.dom. ..
On 2005-03-24, Mitchell S. Honnert <news@honnert~R ~E~M~O~V~E~.com > wrote:
In some recent posts, I've seen people who seem to be waxing nostalgic
with
respect to the "ease of use" of Visual Basic 6. I can't quite put my
finger
on it, but they seem to be implying that VB6 was simpler to use than
VB.NET,
that it was somehow easier to write programs in VB6 than in VB.NET. I
have
to admit I'm astonished by this attitude. I can't see any rationality to
the idea that, on the whole, VB6 is easier than VB.NET.


I don't want to generalize about what others have said, because there's
a very wide range of opinions on this subject, but I'd say VB6 was
definitely easier to learn, especially for beginners and
non-programmers.
I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just
want
to get in there and write some code; I don't want to have to worry about
all
of that OO crap." Perhaps the principle holds true for the "Hello World"
type of application, but for any non-trivial application, I just don't
see
how the well-ordered, clean, and consistent implementation of OO
principles
in the .NET framework couldn't be seen as an easier environment in which
to
develop.


"Non-trivial" is a relative term. There's lots of small apps out there
that seem trivial to me, but are treated like the Holy Grail in small
offices. And these are very valuable productivity-enhancing
applications, usually written by somebody who picked up a little VB.
There's really no reasonable consultant market for things like this: I
could write the app in less than a day if I knew what to write, but it
would take me six weeks to learn the business process that needs to be
automated.

VB was perfect for these kinds of things, because it could be very
forgiving of a certain lack of understanding. Consider something basic,
the difference between a class and an instance of a class. People could
write very useful apps without understanding this because VB blurred the
distinction where forms were concerned. You could drag buttons onto a
form, write little event handlers, maybe even do some DB work without
ever really grasping the big picture.

That's much tougher in .NET. VB.Net still hides complexity a little,
but the idea of class and instances and scope and visibility and stuff
like that pops up pretty quickly.
I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case,
which
would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET
would be easier. In my opinion, in a relatively short period of time, I
could teach someone the principles of object oriented programming and the
basic layout of the .NET Framework. But if I applied this same amount of
time to teaching someone VB6 from scratch, I'd get so bogged down in
telling
them about all of the quirks, workarounds, and exceptions-to-the-rule
that
I'd run out of time before I could even get through the basics. (I
wouldn't
even want to call this type of knowledge transfer "teaching". )


On the flipside, let's say you did write this one-day application I
mentioned above. You wrote it in six hours and now you have two hours
to hand it over to the "technical" person in the office for ongoing
support (because they can't afford to call you back for new features).
This person has maybe done a few Word macros, can do fairly advanced
spreadsheet functions in Excel, etc.

What's easier to explain, the code behind a VB6 form, or a full-fledged
OOP app in .Net? I think the VB6 app would be much easier to explain
in a limited time.

Nov 21 '05 #6
Mitchell,

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > schrieb:
In some recent posts, I've seen people who seem to be waxing nostalgic
with respect to the "ease of use" of Visual Basic 6. I can't quite put my
finger on it, but they seem to be implying that VB6 was simpler to use
than VB.NET, that it was somehow easier to write programs in VB6 than in
VB.NET. I have to admit I'm astonished by this attitude. I can't see any
rationality to the idea that, on the whole, VB6 is easier than VB.NET.
I don't think it's that important that a programming language is easy to
learn. It's impossible to learn to get /used to/ a programming language.
Experience cannot be replaced by reading a book. However, a language can be
more easy than an other in certain cases. In other words, using language X
might be more appropriate (easier) than using language Y to solve a problem.

It's impossible to create a "general purpose" programming language that can
be used to solve every problem in the easiest possible way. Programming
languages are typically optimized for certain tasks. So are OO languages
and frameworks. However, OO is not the answer to all programming tasks;
there are cases where an object-based language (VB6) is more appropriate
than a full OO language.

While VB6 was suitable for small companies, business applications, office
applications, etc., VB.NET has been designed as an application for
enterprise development. .NET (VB.NET/C#) are not suitable tools in many
situations:

<URL:http://www.dicks-blog.com/archives/2005/03/09/support-classic-vb/#comment-9262>:

---
Weíre not a programming shop, but use Excel as a programming tool to get our
jobs done: taking away VBA and replacing it with .NET is sort of like taking
away a construction workerís hammer and replacing it with a pneumatically
driven nuclear-powered piledriver. That all we want to do is write
relatively small snippets of code and a few loops to handle daily problems
means that for us VBA is a nicely weighted and balanced hammer: from what Iíve
seen (correct me if Iím wrong!), .NET is vast overkill for the relatively
small, yet fiercely complex tasks we need it for. And we gotta learn how to
do everything all over again.
---

(I think the sample above elaborates the main issue of the VB6/VBA -> .NET
migration very well.)
I *can* see where someone who is entrenched in the VB6 language would find
the switch to VB.NET daunting. (VB.NET is, after all, a major departure
from VB6.) But what I can't see is someone making the judgment, from an
objective standpoint, that VB6 is easier than VB.NET. In other words,
just because *you* happen to be so much more familiar with the collective
set of eccentricities, peculiarities, and inconsistencies that is known as
Visual Basic 6 that you can write applications faster in VB6 than VB.NET,
it doesn't mean that VB6 is easier.
I am familiar with the .NET technology, VB.NET, C# and other .NET-enabled
languages, but this doesn't imply that I think that using .NET (VB.NET, C#)
is most suitable in all cases. VB(A) enables people who are not programmers
to write code, for example, people working in an office using Microsoft
Office products (Excel, Word, ...). For these cases, full OO simply doesn't
make much sense, moreover it increases the complexity without adding a
benefit.
I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just want
to get in there and write some code; I don't want to have to worry about
all of that OO crap."
This argument must be analyzed from three standpoints:

* People owning a large VB6 codebase that cannot be migrated
to .NET without a rewrite (which doesn't bring any benefit).

* People who don't need OO at all, for example, office developers
(VBA).

* The programmer who is simply too lazy to learn OO, but using
OO would significantly increase his productivity. (rarely the case)
Perhaps the principle holds true for the "Hello World" type of
application, but for any non-trivial application, I just don't see how the
well-ordered, clean, and consistent implementation of OO principles in the
.NET framework couldn't be seen as an easier environment in which to
develop.
There are cases where OO (PIE) doesn't make much sense. For example, when
writing VBA code, reusability is often not important. Inheritance isn't a
required feature too to copy some data from one sheet to another.
I guess I'm looking at it from the perspective of teaching someone who is
completely new to programming how to be a programmer. In this case, which
would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET
would be easier.
Starting with OO when teaching programming is IMO one of the worst things
one can do. I'd start with simple "lists of commands", then explore
procedures, procedural programming, object based programming, and finish
with OOP. Even when writing OO programs, OO doesn't replace procedural
programming, modular programming and object based techniques. They are part
of it.
In my opinion, in a relatively short period of time, I could teach
someone the principles of object oriented programming and the basic layout
of the .NET Framework.
Many people who claim to be familiar with .NET or Java are lacking
fundamental programming techniques like formulating a problem in the form of
an (procedural) algorithm. They don't know anything about runtime analysis
of algorithms or writing secure code, which are both crucial for writing
high-quality code. Although these people can design class hierarchies, the
quality of method implementations is *poor*!
But if I applied this same amount of time to teaching someone VB6 from
scratch, I'd get so bogged down in telling them about all of the quirks,
workarounds, and exceptions-to-the-rule that


Samples?

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

Nov 21 '05 #7
Mitchell,

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > schrieb:
a lot of VB programmers were really in their comfort zone with 6.


You've hit on one of main points of my thoughts on this topic. I
hypothesize that the people who think that VB6 is easier than VB.NET are
those who were/are "in the VB6 zone". They had become accustomed to all
of the workarounds necessary to get anything done in VB6, so they
mistakenly believe that VB6 is easier because it's easier for *them*.


I have to disagree. It's not easier for them because they know workarounds
to do things the language was not designed for, but because the tool its set
of features is more appropriate for the work they are doing. Take a look at
Office automation code -- most of this code doesn't use any "hacks", it
simply uses the Office object model to get certain things done.

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

Nov 21 '05 #8
Stephany,

Your post makes you seem like a shithead.

Richard

"Stephany Young" <noone@localhos t> wrote in message
news:On******** ******@TK2MSFTN GP15.phx.gbl...
"Comfort Zone"

In this whole recent, (dare I call it one), 'debate', this is the phrase
that has been missing.

As a species (homo sapien), we are comfortable with what we know. The
inverse is also true - we are NOT comfortable with what we DON'T know. This truism has been proved again and again throughout the course of history.
Because of this, change tends to resisted, (especially in the early stages), until such time as there is a widespread understanding of the 'technology' behind the change. Once such change becomes generally accepted, there are
still some who resist further. In the end, those who 'change' prosper and
those who resist, don't. This is the nature of the evolution of the species and the evolution of technology.

A case in point is the rise of 'Cro Magnon' as the dominant species which
became modern humans and the demise of 'Neandethal' man. The Neanderthal's were, for what ever reason, unable to change and consequently the species
did not survive.

In the late 18th and early 19th centuries, we saw a movement, known as the Luddites, who bitterly resisted industrialisati on of the weaving industry. Not only were they vociferous in their opposition, they went as far as
vandalising and destroying the 'modern' weaving machines that were being
developed at the time. Can you really imagine where we would be without the range of textiles that we take for granted in our everyday life if they had succeeded? The word 'luddite' has since entered our language to mean someone who unreasonably resists change. If I remember some middle 19th century
history correctly a Western Union 'boss' was attributed as saying "I can't see any practical use for it, now or in the future" when refering to
Alexander Graham Bell's new invention (the telephone).

More recently we have also seen a trend towards a way of thinking that
kmakes the rights of the individual sacrosant. Don't get me wrong here, the rights of the indivuadual are important! I do, however, find this trend
disturbing because the rights of the individual are being attributed a
higher importance than the good of the whole. My view is that being able to enjoy indivdual rights brings obligations that the individual owes to
society as a whole. The latin phrase 'quid pro quo' translated as 'something for something' springs to mind as being appropriate here.

During this debate I have seen a lot of hand-wringing, roughly paraphrased and reading between the lines as "How dare Microsoft take a business
decision that, in my view, puts the longevity of my personal library of VB6 code at risk" and "How dare Microsoft NOT provide (for free) a mechanism
that will automatically convert my personal library of esoteric VB6
procedures into perfect VB.NET code". To those for whom the cap fits - all I can say is "Get off your backsides and join the real world."

I believe that the late John F. Kennedy put it quite succinctly when he said "Ask not what your country can do for you, ask what can you do for your
country." (Apologies for any misquote.) In this case I doon't think he would have minded a small bit of plagarism:

Ask not what your industry can do for you, ask what can you do for your
industry.
"Michael C#" <xy*@yomomma.co m> wrote in message
news:eg******** *****@TK2MSFTNG P15.phx.gbl...
In some respects VB6 was simpler than .NET, but .NET has a lot more
functionality in it that you many times had to kludge your way through
with VB6.

VB.NET's support for OO programming, when coming from a VB6 background,
does provide a learning curve to non-OO programmers... and a lot of VB
programmers were really in their comfort zone with 6. But the switch to OO programming is well worth it, and most people probably discover that .NET provides a lot of great new functionality and improvements once you stop trying to do things the VB6 way...

"Mitchell S. Honnert" <news@honnert~R ~E~M~O~V~E~.com > wrote in message
news:OA******** ******@TK2MSFTN GP09.phx.gbl...
In some recent posts, I've seen people who seem to be waxing nostalgic
with respect to the "ease of use" of Visual Basic 6. I can't quite put my finger on it, but they seem to be implying that VB6 was simpler to use than VB.NET, that it was somehow easier to write programs in VB6 than in VB.NET. I have to admit I'm astonished by this attitude. I can't see
any rationality to the idea that, on the whole, VB6 is easier than
VB.NET.

I *can* see where someone who is entrenched in the VB6 language would
find the switch to VB.NET daunting. (VB.NET is, after all, a major
departure from VB6.) But what I can't see is someone making the
judgment, from an objective standpoint, that VB6 is easier than VB.NET. In other words, just because *you* happen to be so much more familiar
with the collective set of eccentricities, peculiarities, and
inconsistencies that is known as Visual Basic 6 that you can write
applications faster in VB6 than VB.NET, it doesn't mean that VB6 is
easier.

I've heard it argued that a drawback to .NET's full support of object
oriented programming is that it makes coding more difficult. "I just
want to get in there and write some code; I don't want to have to worry about all of that OO crap." Perhaps the principle holds true for the
"Hello World" type of application, but for any non-trivial application, I just don't see how the well-ordered, clean, and consistent implementation of OO principles in the .NET framework couldn't be seen as an easier
environment in which to develop.

I guess I'm looking at it from the perspective of teaching someone who is completely new to programming how to be a programmer. In this case,
which would be easier, VB6 or VB.NET? There's not doubt in my mind that VB.NET would be easier. In my opinion, in a relatively short period of time, I could teach someone the principles of object oriented programming and the basic layout of the .NET Framework. But if I applied this same amount of time to teaching someone VB6 from scratch, I'd get so bogged
down in telling them about all of the quirks, workarounds, and
exceptions-to-the-rule that I'd run out of time before I could even get through the basics. (I wouldn't even want to call this type of knowledge transfer "teaching". )

The point is that even though there might be an initially steeper
learning curve to get past the principles of object oriented programming, once you have the "OO epiphany" and truly grok the principles, the rest is smooth sailing. But with VB6, you may get up and running a bit
faster, but your daily process of coding is so taken up by finding
workarounds to a seemingly endless series of quirky behaviors or things that just don't operate how you think they would, that the overall
development time is actually much longer.

So, are there people out there that really think VB6 is easier than
VB.NET? Why? Do you think it depends on the size of the project? Are
there other factors? Help me understand because I just don't get this
attitude.

- Mitchell S. Honnert



Nov 21 '05 #9

"Herfried K. Wagner [MVP]" <hi************ ***@gmx.at> wrote in message
news:u7******** ******@tk2msftn gp13.phx.gbl...
Weíre not a programming shop, but use Excel as a programming tool to get
our
jobs done: taking away VBA and replacing it with .NET is sort of like
taking
away a construction workerís hammer and replacing it with a pneumatically
driven nuclear-powered piledriver. That all we want to do is write
relatively small snippets of code and a few loops to handle daily problems
means that for us VBA is a nicely weighted and balanced hammer: from what
Iíve
seen (correct me if Iím wrong!), .NET is vast overkill for the relatively
small, yet fiercely complex tasks we need it for. And we gotta learn how
to
do everything all over again.
---

(I think the sample above elaborates the main issue of the VB6/VBA -> .NET
migration very well.)
To me, VBA should be separated from VB6 in this particular context. When I
think VBA, I think of a scripting language for MS Office product
automation - something to get small tasks done in your spreadsheet without
going all out and writing a complete external application. When I think
VB6, I think of the full-fledged application development tool, external to
the MS Office Suite. I can't think of many things that can be done in VB6
that can't be done in VB.NET - to me it's just a matter of getting out of
the VB6 mind-state.
* People owning a large VB6 codebase that cannot be migrated
to .NET without a rewrite (which doesn't bring any benefit).
The people and companies who have invested a lot of $$$ in VB6 development
may have a valid reason to stick with it for backwards compatibility, but
this should not be used as a rallying cry for continued investment in
antiquated technologies, and ignorance of modern technologies. Fortunately
businesses are a lot better at adapting to, planning for, and scheduling
change than individuals; and in a Capitalist economy, business tends to
dictate the skills that individuals begin to adopt.
There are cases where OO (PIE) doesn't make much sense. For example, when
writing VBA code, reusability is often not important. Inheritance isn't a
required feature too to copy some data from one sheet to another.


OTOH, not all OO projects require that the user design their classes with
reusability by other programs in mind (though it might be a big bonus to
plan for and implement this if possible, since you can save yourself a lot
of time and trouble on future projects). In simple projects, the use of
inheritance might well be hidden from the programmer by the Forms designer
generated code. To add to your statement, not all OO programs require the
programmer to implement Polymorphism; but it's there if you need it. Not
all simple OO programs need be complex as people make them out to be.

The key to me is that VB6 programmers moving to .NET need to first get out
of the VB6 mindset. And those that refuse to learn the new technology, and
change with the business world, will end up missing out on a lot of business
opportunities.

Just my 2 cents.
Nov 21 '05 #10

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

Similar topics

3
3155
by: NotGiven | last post by:
I am researching the best place to put pictures. I have heard form both sides and I'd like to know why one is better than the other. Many thanks!
17
3440
by: Rob | last post by:
i know javascript, vbscript, asp css and alot more and im only 14 i was wondering which is easier to learn php or cgi. any help?
73
8117
by: RobertMaas | last post by:
After many years of using LISP, I'm taking a class in Java and finding the two roughly comparable in some ways and very different in other ways. Each has a decent size library of useful utilities as a standard portable part of the core language, the LISP package, and the java.lang package, respectively. Both have big integers, although only LISP has rationals as far as I can tell. Because CL supports keyword arguments, it has a wider range...
15
7710
by: Herman | last post by:
Hi everyone, I'm currently studying for my Master's in Computer Science, and I will be working on my thesis this summer. I've been thinking about constructing a web services application for my thesis, as I've been interested in this technology, and I haven't had a chance to work with it in my last job. The issue is what platform to use: ..NET or J2EE? Prior to starting my MSc course, I worked for a software developer for five years...
1
4194
by: Kenneth McDonald | last post by:
I'm working on the 0.8 release of my 'rex' module, and would appreciate feedback, suggestions, and criticism as I work towards finalizing the API and feature sets. rex is a module intended to make regular expressions easier to create and use (and in my experience as a regular expression user, it makes them MUCH easier to create and use.) I'm still working on formal documentation, and in any case, such documentation isn't necessarily the...
13
1834
by: cjl | last post by:
Hey all: I'm working on a 'pure' python port of some existing software. Implementations of what I'm trying to accomplish are available (open source) in C++ and in Java. Which would be easier for me to use as a reference? I'm not looking for automated tools, just trying to gather opinions on
2
1845
by: Mario T. Lanza | last post by:
Greetings, I have been developing websites in CSS for a couple years; I claim to be no expert, but certain things could definitely be easier. Consider the box model and it's different implementations: http://tantek.com/CSS/Examples/boxmodelhack.html Microsoft's way and the web standards way. Ironically, though
13
1412
by: dm1608 | last post by:
I know all the hype right now from Microsoft is how much easier, faster, and less code ASP.NET 2.0 provides over previous versions. I'm puzzled by this as I could turn out an classic ASP webpage in a few hours to query a database, display a grid/table, and not have much to worry about. Doing the same tasks in ASP.NET 2.0 seems almost trivial, but is it really real-world? I have a classic ASP app that I wrote a few years back that took...
0
9933
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...
0
9786
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
11126
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10836
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,...
1
7964
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
7115
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
5794
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
5983
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
3230
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.