Home All Groups Group Topic Archive Search About
Author
6 Oct 2005 4:23 AM
Michael C
Those people in this group bagging .net are those who don't really know it.
Anyone who's bothered to learn it seems to understand why it's superior.
Sorry guys, I just had to say it after reading through a thread about why
vb6 is better than dot net because someone couldn't work out how to change
the startup form on their first day of using it and other similarly minor
issues. :-)

Michael

Author
6 Oct 2005 4:46 AM
mscir
Michael C wrote:
> Those people in this group bagging .net are those who don't really know it.
> Anyone who's bothered to learn it seems to understand why it's superior.
> Sorry guys, I just had to say it after reading through a thread about why
> vb6 is better than dot net because someone couldn't work out how to change
> the startup form on their first day of using it and other similarly minor
> issues. :-)
>
> Michael

Wouldn't it be nice if there was a ng where people who still use VB6
could discuss VB6 problems and not anything else!

Mike
Author
6 Oct 2005 5:35 AM
Michael C
"mscir" <ms***@yahoo.com> wrote in message
news:YuudnQElwcyQMdnenZ2dnUVZ_sudnZ2d@pghconnect.com...
> Wouldn't it be nice if there was a ng where people who still use VB6 could
> discuss VB6 problems and not anything else!

That way they could keep their head in the sand completely. :-)

Michael
Author
6 Oct 2005 8:20 AM
Jan Hyde
"Michael C" <mculley@NOSPAMoptushome.com.au>'s wild thoughts
were released on Thu, 6 Oct 2005 15:35:31 +1000 bearing the
following fruit:

>"mscir" <ms***@yahoo.com> wrote in message
>news:YuudnQElwcyQMdnenZ2dnUVZ_sudnZ2d@pghconnect.com...
>> Wouldn't it be nice if there was a ng where people who still use VB6 could
>> discuss VB6 problems and not anything else!
>
>That way they could keep their head in the sand completely. :-)
>
>Michael
>

Like it or not, this group is here to support people working
with VB6 and earlier.

VB6 code will be around for many year to come and if you
don't think so then I've got about a million lines of vb
code for you to convert ;-(

Some people choose to stick with VB others have no choice,
either way this group is here to support them.



Jan Hyde (VB MVP)

--
Nostalgia is like a grammar lesson: You find the present tense and the past perfect. (Catherine Shoemaker)

[Abolish the TV Licence - http://www.tvlicensing.biz/]
Author
6 Oct 2005 9:45 AM
J French
On Thu, 6 Oct 2005 15:35:31 +1000, "Michael C"
<mculley@NOSPAMoptushome.com.au> wrote:

>"mscir" <ms***@yahoo.com> wrote in message
>news:YuudnQElwcyQMdnenZ2dnUVZ_sudnZ2d@pghconnect.com...
>> Wouldn't it be nice if there was a ng where people who still use VB6 could
>> discuss VB6 problems and not anything else!

>That way they could keep their head in the sand completely. :-)

Ok, so let's start discussing Delphi here

Heck, lets be really promiscuous and discuss Linux

We could even discuss politics

- all in the interest of keeping our heads out of the sand
Author
6 Oct 2005 3:23 PM
Jim Carlock
>"mscir" <ms***@yahoo.com> wrote in message
> That way they could keep their head in the sand completely.
> :-)

"J French" <erew***@nowhere.uk> wrote:
> We could even discuss politics
>
> - all in the interest of keeping our heads out of the sand

There's a lot of good stuff in the sand. There's something
for all of us... For instance, in the order of protein, you end
up with cockroaches, beetles, and various types insects. If
your vegetarian, quite a bit can be grown from the sand,
including pineapples, carrots, onions, corn, lettuce, basil,
cucumbers, coconuts, mangos, avocados, oranges, chives,
tomatoes, peas, lima beans, green beans, grapefruits, and
some of the best peppers around, including serrano, jalapeno,
hungarian wax, and a variety of multicolored belle peppers.
If you maintain a nice compost pile for additional nutrients,
you end up with a really fabulous collection of fruits and
vegetables. The list definitely doesn't end there. For added
protein skim the surface of the sand, look for snakes,
centipedes, frogs, a wide variety of insects and arachnids.

There's more to sand than Michael C knows about. The
problem isn't the sand is bad, and his analogy represents
a poor characterization. There's a ton of great stuff in the
sand. There's a ton of great stuff that comes out of the
sand.

As my friend Obi Wan Kenobi said, "Don't fall to the dark
side, Michael C. Keep the light in your eyes and see some
truths."

--
Jim Carlock
Post replies to the newsgroup, thanks.
Author
6 Oct 2005 4:11 PM
UGH
wow, a wise man. You live on top of some mountain far far far away?






Show quoteHide quote
"Jim Carlock" <anonymous@localhost> wrote in message
news:e2kR3noyFHA.3892@TK2MSFTNGP12.phx.gbl...
> >"mscir" <ms***@yahoo.com> wrote in message
>> That way they could keep their head in the sand completely.
>> :-)
>
> "J French" <erew***@nowhere.uk> wrote:
>> We could even discuss politics
>>
>> - all in the interest of keeping our heads out of the sand
>
> There's a lot of good stuff in the sand. There's something
> for all of us... For instance, in the order of protein, you end
> up with cockroaches, beetles, and various types insects. If
> your vegetarian, quite a bit can be grown from the sand,
> including pineapples, carrots, onions, corn, lettuce, basil,
> cucumbers, coconuts, mangos, avocados, oranges, chives,
> tomatoes, peas, lima beans, green beans, grapefruits, and
> some of the best peppers around, including serrano, jalapeno,
> hungarian wax, and a variety of multicolored belle peppers.
> If you maintain a nice compost pile for additional nutrients,
> you end up with a really fabulous collection of fruits and
> vegetables. The list definitely doesn't end there. For added
> protein skim the surface of the sand, look for snakes,
> centipedes, frogs, a wide variety of insects and arachnids.
>
> There's more to sand than Michael C knows about. The
> problem isn't the sand is bad, and his analogy represents
> a poor characterization. There's a ton of great stuff in the
> sand. There's a ton of great stuff that comes out of the
> sand.
>
> As my friend Obi Wan Kenobi said, "Don't fall to the dark
> side, Michael C. Keep the light in your eyes and see some
> truths."
>
> --
> Jim Carlock
> Post replies to the newsgroup, thanks.
>
>
Author
6 Oct 2005 6:16 PM
Someone
They are not keeping their heads in the sand, it's about the time and effort
to learn everything you need to know about the language and platform before
proceeding. Knowing the differences between the 2 languages is not enough,
since the controls and libraries of the 2 languages behave differently.
Those who know everything about the target language and platform and design
the software completely in flow charts and other forms before writing a
single line of code produce the most flawless systems with the fewest
possible bugs, IMO. When designed that way, design bugs can be discovered
early on in the design stage.

When someone goes on and writes the code and fixes problems as he or she
goes along, it would be time consuming to find and fix design problems. The
process usually goes like this:

1 - Write your code.
2 - A Bug was found.
3 - Fix it and test the code for 10 minutes.
4 - It tested OK, so do a full functionality test that takes 1 hour or more.
5 - Opps, not really fixed, go back to step 3 and repeat till it's fixed.

The problem with this approach is step 4, that's why large projects take so
long, a full functionality test might take longer than 1 hour, perhaps a day
or more, perhaps it means a release to a beta tester or a customer which
takes few days. So multiply this by n problems and the software would take a
loooong time to finish. It's why a boss or a team leader hears "I finished
90 or 95%" and they seem to run out of percentage points every time they
have to make a progress report, the thing seems to take forever, stuck in
trying to solve a bug or a "minor" redesign.

I once spent about 3 weeks designing a software from head to toe with
detailed flow chart, almost one flow box for every line of code,
anticipating every problem and changing the design if necessary. I used an
Excel sheet it to list my global variables and a description of what they
do. After the design was approved, it took few hours to write the 1000+
lines of code and was wrapped up completely within 2 days. I only found one
design bug that I have missed, which was fixed in about 2 days. That
software was using assembly, not VB6. It performed a lot of background
operations at interrupt time and hence the difficulty in writing it.

So unless someone knows "everything" to know about the target platform,
language, and the libraries required to finish a project, one cannot be sure
of the outcome and how long it takes to finish a project. One might learn
the new language and do simple programs from time to time so not to be left
out of the loop, but when it comes to large projects, you are better of
using what you already know to save your time. One could though make the
code more compatible with the new version, by explicitly using "Dim" for
each variable, and using "ByVal" and "ByRef" explicitly for instance.

You probably still using Declare statements in Vb.Net, MS does not prefer
that dotnet developers resort to the API. They have to stick with the dotnet
run time. The reason for this is multiplatform compatibility. MS could in
the future come up with a hypothetical VB2010 for Windows, Mac, Linux, and
Unix. If you use the API directly, it has to go through a translation layer
and would be slower than using the dotnet runtimes. MS has already made a
full translation layer for Macs, see Virtual PC for Mac, which allows you to
run Windows Apps on a Mac. I don't think they have made a dotnet library for
Mac yet.

http://www.microsoft.com/mac/products/virtualpc/virtualpc.aspx?pid=virtualpc

MS also made IE and Office for Macs:

http://www.microsoft.com/mac/

As for Linux, See also this dotnet library for Linux:

http://www.mono-project.com/Main_Page

I am not sure if it's complete or how far they have gone with the project.

> Anyone who's bothered to learn it seems to understand why it's superior.

superior is relative. Some are interested in minimum dependency as much as
possible like myself, so a network administrator can install my app on
hundreds of computers via a login script without rebooting most computers(if
I included the oldest possible version of DLL's/OCX's that my app require to
function correctly). My upgrade path in some of my programs seems to be from
VB6 to C++.Net 2003, which is the only .Net language that can compile to a
classic EXE file without dependency on .Net. The compiled code also works on
Windows 95 as others have tested even though it's not officially supported
by MS. Some of my customers are still using Windows 95, so VB.Net is a
no-no.



Show quoteHide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:e3oX5cjyFHA.1436@TK2MSFTNGP10.phx.gbl...
> "mscir" <ms***@yahoo.com> wrote in message
> news:YuudnQElwcyQMdnenZ2dnUVZ_sudnZ2d@pghconnect.com...
>> Wouldn't it be nice if there was a ng where people who still use VB6
>> could discuss VB6 problems and not anything else!
>
> That way they could keep their head in the sand completely. :-)
>
> Michael
>
Author
10 Oct 2005 3:36 AM
mscir
Michael C wrote:

> "mscir" <ms***@yahoo.com> wrote
>
>>Wouldn't it be nice if there was a ng where people who still use VB6 could
>>discuss VB6 problems and not anything else!
>
> That way they could keep their head in the sand completely. :-)

I wonder what the .net ng's call people like you who go there and
repeatedly post irrelevant noise.
Author
10 Oct 2005 4:21 AM
Rick Rothstein [MVP - Visual Basic]
> >>Wouldn't it be nice if there was a ng where people who still
use VB6 could
> >>discuss VB6 problems and not anything else!
> >
> > That way they could keep their head in the sand completely.
:-)
>
> I wonder what the .net ng's call people like you who go there
and
> repeatedly post irrelevant noise.

My guess would be... Michael C. <g>

Rick
Author
6 Oct 2005 2:24 PM
mayayana
It doesn't seem to me like a good advertisement
for .Net that new .Netters keep hanging around, shrieking
to "everyone and his brother" that they're using the
wrong language. You profess to be very confident in
your fashion choice. Yet you're hanging around here -
in this apparently seedy joint for has-been languages -
trying to convince yourself that you made the right
choice; while you could be out strutting your shiny,
new O.O. stuff.   :)

--
mayayanaX***@mindXXspring.com
(Remove Xs for return email.)
Michael C <mculley@NOSPAMoptushome.com.au> wrote in message
Show quoteHide quote
news:OXg8k0iyFHA.2792@tk2msftngp13.phx.gbl...
> Those people in this group bagging .net are those who don't really know
it.
> Anyone who's bothered to learn it seems to understand why it's superior.
> Sorry guys, I just had to say it after reading through a thread about why
> vb6 is better than dot net because someone couldn't work out how to change
> the startup form on their first day of using it and other similarly minor
> issues. :-)
>
> Michael
>
>
Author
6 Oct 2005 5:05 PM
Stefan Berglund
On Thu, 6 Oct 2005 14:23:21 +1000, "Michael C" <mculley@NOSPAMoptushome.com.au>
wrote:
in <OXg8k0iyFHA.2***@tk2msftngp13.phx.gbl>

>Those people in this group bagging .net are those who don't really know it.
>Anyone who's bothered to learn it seems to understand why it's superior.
>Sorry guys, I just had to say it after reading through a thread about why
>vb6 is better than dot net because someone couldn't work out how to change
>the startup form on their first day of using it and other similarly minor
>issues. :-)
>
>Michael

I for one will very definitely NEVER look at any of their software development
tools EVER again regardless of any supposed superiority because I refuse to be
put in the situation AGAIN of refactoring my bread and butter app at the whim of
some completely out of touch wienies in Redmond.

No, I don't know it and I don't CARE to know it.  And I don't CARE whether or
not it's superior.  All I care about is that they've trashed my assets on a whim
and left me with no forward migration path other than a complete rewrite. 

Eventually that attitude will come back to bite them no matter how big they are.

I like to imagine the uptake on .NET as being much like the saying "Suppose they
called a war and nobody came?"

---
Stefan Berglund
Author
6 Oct 2005 5:45 PM
Karl E. Peterson
Michael C wrote:
> Those people in this group bagging .net are those who don't really
> know it. Anyone who's bothered to learn it seems to understand why
> it's superior.

So, you _have_ signed the petition, then?
--
Working Without a .NET?
http://classicvb.org/petition
Author
6 Oct 2005 6:45 PM
Jeff Johnson [MVP: VB]
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:OXg8k0iyFHA.2792@tk2msftngp13.phx.gbl...

> Those people in this group bagging .net are those who don't really know
> it. Anyone who's bothered to learn it seems to understand why it's
> superior. Sorry guys, I just had to say it after reading through a thread
> about why vb6 is better than dot net because someone couldn't work out how
> to change the startup form on their first day of using it and other
> similarly minor issues. :-)

Troll, troll, troll your boat.
Author
7 Oct 2005 4:49 AM
Michael C
"Jeff Johnson [MVP: VB]" <i.get@enough.spam> wrote in message
news:uMLDpYqyFHA.2132@TK2MSFTNGP15.phx.gbl...
> Troll, troll, troll your boat.

That's the second tttyb i've got :-)

Michael
Author
6 Oct 2005 7:18 PM
Saga
That "someone" would be me <g>. Here is the "offending" paragraph:

"How about adding the fact that if you change the start up form's name,
the project will no longer compile because you have to change it
manually
somewhere. I did this a while, then left it alone and came back a few
months later and I could not remember where I had to set it!! I ended up
renaming my form back to Form1. Just beautiful."

This was in response to another post that listed stuff about .NET that
the
poster did not like, but I never mentioned that any one technology or
language was "superior" to another. I know far too well that the
superior technology is the one that gets the job done in the best way
for the client.

Just to clarify, I started using .NET 2002, but then I started working
for a firm that has a substantial code investment in VB6, so I left .NET
alone for a couple of years. Then while tinkering a few months back I
built a quickie .NET sample app, changed the start up form's name
and this is when it did not compile. I knew what the error was and knew
how to fix it, but much to my dismay I could not remember where I
had to specify the startup form's name. So the quick fix was just to
rename the form to its original default name. I was not a in position
to actually look for this info, so the quickest and most practical
solution
was to name the form back to tits default name.

I certainly would not classify a language as inferior based on this
experience, but I did find it annoying that I needed to manually
change this when it is done "automatically" in VB6, regardless of
what goes on behind the scenes to justify the need for the manual
work needed (not to mention my lapse in memory at that time).
Obviously, this procedure might be different depending on what
language/technology you use to develop.

Have great one Michael!
Saga


Show quoteHide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:OXg8k0iyFHA.2792@tk2msftngp13.phx.gbl...
> Those people in this group bagging .net are those who don't really
> know it. Anyone who's bothered to learn it seems to understand why
> it's superior. Sorry guys, I just had to say it after reading through
> a thread about why vb6 is better than dot net because someone couldn't
> work out how to change the startup form on their first day of using it
> and other similarly minor issues. :-)
>
> Michael
>
Author
6 Oct 2005 8:43 PM
Jeff Johnson [MVP: VB]
"Saga" <antiSpam@somewhere.com> wrote in message
news:%23jC1LrqyFHA.2076@TK2MSFTNGP14.phx.gbl...

> That "someone" would be me <g>. Here is the "offending" paragraph:
>
> "How about adding the fact that if you change the start up form's name,
> the project will no longer compile because you have to change it manually
> somewhere. I did this a while, then left it alone and came back a few
> months later and I could not remember where I had to set it!! I ended up
> renaming my form back to Form1. Just beautiful."

And in defense of .NET, VS 2005 has finally solved this problem.
Author
6 Oct 2005 11:59 PM
Michael C
"Saga" <antiSpam@somewhere.com> wrote in message
news:%23jC1LrqyFHA.2076@TK2MSFTNGP14.phx.gbl...
> I certainly would not classify a language as inferior based on this
> experience, but I did find it annoying that I needed to manually
> change this when it is done "automatically" in VB6, regardless of
> what goes on behind the scenes to justify the need for the manual
> work needed (not to mention my lapse in memory at that time).
> Obviously, this procedure might be different depending on what
> language/technology you use to develop.

Some of the greatest gains in .net have been from removing the automatic
features of vb6.  Having code specify the startup form is much clearer and
self documenting. VB6 had 2 methods of achieving this which really is more
to learn (only slightly I know). It's the same with putting controls on
forms, it's all done in code now so you can see what's happening.

Michael
Author
6 Oct 2005 11:59 PM
GrandNagel
Heres what I noticed...

Is it just me or is anyone else curiously watching Google ???

I'm placing bets that they are writing a new OS which will in all
likely-hood blow doors compared to MS if for any reason, that they do
everything else so well (IMHO)...  They have hired every great mind they
can get their hands on and now have a contract with Sun...

Anyone on the fringes of their organization? Got any clues? Heard any
neat stories?

D?
Author
7 Oct 2005 4:00 AM
Ralph
Show quote Hide quote
"GrandNagel" <NOTGrandNa***@HotMail.com> wrote in message
news:OeJBzHtyFHA.3124@TK2MSFTNGP12.phx.gbl...
> Heres what I noticed...
>
> Is it just me or is anyone else curiously watching Google ???
>
> I'm placing bets that they are writing a new OS which will in all
> likely-hood blow doors compared to MS if for any reason, that they do
> everything else so well (IMHO)...  They have hired every great mind they
> can get their hands on and now have a contract with Sun...
>
> Anyone on the fringes of their organization? Got any clues? Heard any
> neat stories?
>
> D?
>

Well. Some of their new stuff may be technically sharp, but hasn't been that
big of an improvement. (IMHO). I think any company in that league dreams of
becoming the desktop/platform king of something. But it will take more than
just something technically superior. The pathways where M$ has tread is
littered with the bones of technically superior products.

[Based on history, being an ally of Sun is no great plus. <g>]

Years ago, I was mildly concerned when Borland was basically kicking butt
with their development tools and M$ was apparently dragging theirs. But knew
there was no real danger since M$ 'owned' the platform. Then of course
Borland commited suicide.

However, based on my own recent experience listening into meeting-room
conversations - M$ is ripe for the taking more now than ever before. They
have become unknowable, expensive (TCO is higher than ever before,
Development cost are becoming prohibitive for small organizations), their
nearest competitor is free, and they have just alienated a large segment of
their base. And all the big boys out there know it. I look for someone to
make a serious run this Spring.

Ballmer doesn't strike me as the man who can defend. Too slow, too
short-sighted, too embedded with a M$ view of the world (why not, he helped
to create it). I don't think he will even see it coming.

-ralph
Author
7 Oct 2005 4:51 PM
Stefan Berglund
On Thu, 6 Oct 2005 23:00:27 -0500, "Ralph" <nt_consultin***@yahoo.com> wrote:
in <drednVnz3dYnb9jeRVn***@arkansas.net>

Show quoteHide quote
>
>"GrandNagel" <NOTGrandNa***@HotMail.com> wrote in message
>news:OeJBzHtyFHA.3124@TK2MSFTNGP12.phx.gbl...
>> Heres what I noticed...
>>
>> Is it just me or is anyone else curiously watching Google ???
>>
>> I'm placing bets that they are writing a new OS which will in all
>> likely-hood blow doors compared to MS if for any reason, that they do
>> everything else so well (IMHO)...  They have hired every great mind they
>> can get their hands on and now have a contract with Sun...
>>
>> Anyone on the fringes of their organization? Got any clues? Heard any
>> neat stories?
>>
>> D?
>>
>
>Well. Some of their new stuff may be technically sharp, but hasn't been that
>big of an improvement. (IMHO). I think any company in that league dreams of
>becoming the desktop/platform king of something. But it will take more than
>just something technically superior. The pathways where M$ has tread is
>littered with the bones of technically superior products.
>
>[Based on history, being an ally of Sun is no great plus. <g>]
>
>Years ago, I was mildly concerned when Borland was basically kicking butt
>with their development tools and M$ was apparently dragging theirs. But knew
>there was no real danger since M$ 'owned' the platform. Then of course
>Borland commited suicide.
>
>However, based on my own recent experience listening into meeting-room
>conversations - M$ is ripe for the taking more now than ever before. They
>have become unknowable, expensive (TCO is higher than ever before,
>Development cost are becoming prohibitive for small organizations), their
>nearest competitor is free, and they have just alienated a large segment of
>their base. And all the big boys out there know it. I look for someone to
>make a serious run this Spring.
>
>Ballmer doesn't strike me as the man who can defend. Too slow, too
>short-sighted, too embedded with a M$ view of the world (why not, he helped
>to create it). I don't think he will even see it coming.
>
>-ralph


Yes, yes, yessssssssssssssssssss please!

---
Stefan Berglund
Author
7 Oct 2005 4:48 AM
Michael C
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:OXg8k0iyFHA.2792@tk2msftngp13.phx.gbl...
> Those people in this group bagging .net are those who don't really know
> it. Anyone who's bothered to learn it seems to understand why it's
> superior. Sorry guys, I just had to say it after reading through a thread
> about why vb6 is better than dot net because someone couldn't work out how
> to change the startup form on their first day of using it and other
> similarly minor issues. :-)

Lot's of replies but everyone seemed to avoid the issue raised, which was
those who most against .net seem to be those with the least knowledge of it.

Michael
Author
7 Oct 2005 12:32 PM
Bob Butler
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:uOkCCnvyFHA.2960@tk2msftngp13.phx.gbl
> Lot's of replies but everyone seemed to avoid the issue raised, which
> was those who most against .net seem to be those with the least
> knowledge of it.

Don't conflate .net with VB.Net; the two are not the same.

Most of what you seem to be taking as petty arguments against VB.Net I see
as proof of the biggest problem with it.  MS pulled the rug out from under a
very large developer base by creating an "upgrade" that is incompatible at
every level from major design approaches down to minor keyword and IDE
changes.

The primary issue with VB.Net is and always has been *trust*.  Whether it is
superior or inferior or just different is irrelevent.  It's quite obvious
that MS does not have any respect for the language or the developer base
that has long made extensive use of it and I for one will not commit to a
language that the provider doesn't commit to.

As the sig says... Fool me once, shame on you; fool me twice, shame on me.
With the data type changes in the unimess fiasco MS managed to fool me once.
With VB.Net I'm looking harder behind the curtain and seeing nothing but
smoke and mirrors.  If you think it's worth something then by all means use
it and good luck -- you'll need it when VB.Next comes along.  In the
meantime, please stop trolling here.  This group is one of the few places
left where people can get support on VB applications and as such needs to be
preserved.  There are plenty of forums available for those gullible enough
to use VB.Net to discuss that.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
10 Oct 2005 12:32 AM
Michael C
"Bob Butler" <tiredofit@nospam.com> wrote in message
news:%23mrj%23szyFHA.3864@TK2MSFTNGP12.phx.gbl...
> As the sig says... Fool me once, shame on you; fool me twice, shame on me.
> With the data type changes in the unimess fiasco MS managed to fool me
> once.
> With VB.Net I'm looking harder behind the curtain and seeing nothing but
> smoke and mirrors.  If you think it's worth something then by all means
> use
> it and good luck -- you'll need it when VB.Next comes along.  In the
> meantime, please stop trolling here.

I was just pointing out the ignorance of a particular statement, I didn't
make the statement.

Michael
Author
13 Oct 2005 5:24 PM
Gary Nelson
Michael,

> Lot's of replies but everyone seemed to avoid the issue raised, which was
> those who most against .net seem to be those with the least knowledge of
> it.

You obviously don't understand what the problem is, or just haven't
listened. I've been working on an ASP.NET project (VB) for about three years
now, and would guess that I've got close to 30,000 lines of code. The
project contains several DLLs, several web server controls, a web service,
etc., besides healthy doses of JScript, HTML, XML, and you name it. But on
the other hand, our company has about half a million lines of VB6 code on
which four different developers work. There is NO WAY we can cover the ROI
to get those lines into .NET. We have studied all the possiblities and they
would all take us right to bankrupcy. Knowledge has nothing to do with it.
ROI has everything to do with it.

Gary
Author
17 Oct 2005 12:22 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:u58x8rB0FHA.2008@TK2MSFTNGP10.phx.gbl...
> You obviously don't understand what the problem is, or just haven't
> listened. I've been working on an ASP.NET project (VB) for about three
> years now, and would guess that I've got close to 30,000 lines of code.
> The project contains several DLLs, several web server controls, a web
> service, etc., besides healthy doses of JScript, HTML, XML, and you name
> it. But on the other hand, our company has about half a million lines of
> VB6 code on which four different developers work. There is NO WAY we can
> cover the ROI to get those lines into .NET. We have studied all the
> possiblities and they would all take us right to bankrupcy. Knowledge has
> nothing to do with it. ROI has everything to do with it.

I was never disputing that, ALL I was saying is that those who say it is a
poor language know SFA about it. You obviously know a lot about it and I
noticed you didn't say it was a poor language. :-)

Michael
Author
17 Oct 2005 7:46 AM
Gary Nelson
Michael,

Actually I doubt that many here would actually affirm that Vb.Net is a "poor
language". It's more a case of 'sour grapes'. VB.Net is simply out of reach
for a lot of classic developers (including myself). But it's out of reach,
not because we are incapable of learning it or that we don't like it, but
rather becasue we have too much code to maintain and too many clients to
keep happy. There is a very high probability that we will still be
developing VB6 programs five to ten years from now, not because we want to,
but because that is the only way we can make a living.

If there was a magic button which would convert our code (or at least a
decent amount of it) to VB.Net this discussion wouldn't exist. I wonder if
MS has taken note that five years after the presentation of VB.Net these
discussions are still taking place (I doubt it). In my opinion, the decision
not to make VB forward compatible was a serious design flaw, and if it was
my company, there would be some heads rolling. If MS had given us a way to
get our code into .Net, I'm sure that .Net would now be the dominant
platform in software development. Instead of that, one of the main
competitors to the .Net platform is curiously VB6. MS has to compete with
it's own product, and to make it worse, it no longer makes any money off of
VB6.

Gary




Show quoteHide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:OQb1IAr0FHA.1564@tk2msftngp13.phx.gbl...
> "Gary Nelson" <gn@nospam.com> wrote in message
> news:u58x8rB0FHA.2008@TK2MSFTNGP10.phx.gbl...
>> You obviously don't understand what the problem is, or just haven't
>> listened. I've been working on an ASP.NET project (VB) for about three
>> years now, and would guess that I've got close to 30,000 lines of code.
>> The project contains several DLLs, several web server controls, a web
>> service, etc., besides healthy doses of JScript, HTML, XML, and you name
>> it. But on the other hand, our company has about half a million lines of
>> VB6 code on which four different developers work. There is NO WAY we can
>> cover the ROI to get those lines into .NET. We have studied all the
>> possiblities and they would all take us right to bankrupcy. Knowledge has
>> nothing to do with it. ROI has everything to do with it.
>
> I was never disputing that, ALL I was saying is that those who say it is a
> poor language know SFA about it. You obviously know a lot about it and I
> noticed you didn't say it was a poor language. :-)
>
> Michael
>
Author
17 Oct 2005 1:32 PM
Ralph
Show quote Hide quote
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23LbTq7u0FHA.2348@TK2MSFTNGP15.phx.gbl...
> Michael,
>
> Actually I doubt that many here would actually affirm that Vb.Net is a
"poor
> language". It's more a case of 'sour grapes'. VB.Net is simply out of
reach
> for a lot of classic developers (including myself). But it's out of reach,
> not because we are incapable of learning it or that we don't like it, but
> rather becasue we have too much code to maintain and too many clients to
> keep happy. There is a very high probability that we will still be
> developing VB6 programs five to ten years from now, not because we want
to,
> but because that is the only way we can make a living.
>
> If there was a magic button which would convert our code (or at least a
> decent amount of it) to VB.Net this discussion wouldn't exist. I wonder if
> MS has taken note that five years after the presentation of VB.Net these
> discussions are still taking place (I doubt it). In my opinion, the
decision
> not to make VB forward compatible was a serious design flaw, and if it was
> my company, there would be some heads rolling. If MS had given us a way to
> get our code into .Net, I'm sure that .Net would now be the dominant
> platform in software development. Instead of that, one of the main
> competitors to the .Net platform is curiously VB6. MS has to compete with
> it's own product, and to make it worse, it no longer makes any money off
of
> VB6.
>
> Gary
>
>
>
>
> "Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
> news:OQb1IAr0FHA.1564@tk2msftngp13.phx.gbl...
> > "Gary Nelson" <gn@nospam.com> wrote in message
> > news:u58x8rB0FHA.2008@TK2MSFTNGP10.phx.gbl...
> >> You obviously don't understand what the problem is, or just haven't
> >> listened. I've been working on an ASP.NET project (VB) for about three
> >> years now, and would guess that I've got close to 30,000 lines of code.
> >> The project contains several DLLs, several web server controls, a web
> >> service, etc., besides healthy doses of JScript, HTML, XML, and you
name
> >> it. But on the other hand, our company has about half a million lines
of
> >> VB6 code on which four different developers work. There is NO WAY we
can
> >> cover the ROI to get those lines into .NET. We have studied all the
> >> possiblities and they would all take us right to bankrupcy. Knowledge
has
> >> nothing to do with it. ROI has everything to do with it.
> >
> > I was never disputing that, ALL I was saying is that those who say it is
a
> > poor language know SFA about it. You obviously know a lot about it and I
> > noticed you didn't say it was a poor language. :-)
> >
> > Michael
> >
>

In MS's defense (kind of) I can appreciate why MS made the decision they
did.

Ignoring for a moment the obvious benefits of abandoning COM (Dll Hell and
the security risks) and the advantage of exposing the entire OS and its
services as one large class library. The major motivation for .NET is the
savings of millions of dollars in maintaining diverse development groups. It
is often overlooked that .Net is a major dollar saver for MS.

This decision is little different that what many a board-room goes through
when they decide to go with a single platform and language for all their
development.

To provide an adequate 'migration' path for VBc applications would have been
expensive. There is far more involved than merely maintaining some
'language' compatibility. It could have been done, but it wouldn't have been
cheap, and it wouldn't have been flawless. (Witness some of the early horror
stories with C++ manage code.) Even if they had decided to create such an
animal, I doubt a 100% 'stable' VBc-VB.net conversion addin/designer would
even exist until now (dotnet 2005).

Plus in the meantime they would not only have received the same criticism
concerning dotNet, they would have had to listen to why their conversion
process was so clumsy.(However, had they created a license agreement for the
VBRuntime, VB IDE, and binary formats - I think they would have been amazed
about how much 3rd party, mvp, et al support they would have gotten. But
that is another story.)

So here is this 'decision-maker' (call him 'Mr. B') making his plea to save
millions of dollars. Look how much better the ROI looks if Mr. B says - by
disbanding the VB/COM group we save X million dollars now, and continue to
save X million over the next 5 years - compared to saying - if we spend this
X millions now we will preserve the investments of others and make other
people happy. As far as Mr B is concerned, it is a no-brainer.

If you consider a dollar saved is worth fives dollars spent to make three,
then add in the sheer bad manners that comes from being #1. (To paraphase an
earlier 20th century CEO - What's good for MS, is good for the world.) There
is little reason to wonder why Mr B did what he did.

-ralph
Author
17 Oct 2005 10:46 PM
Michael C
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:LtOdnWMWHbd-Os7eRVn-vQ@arkansas.net...
> To provide an adequate 'migration' path for VBc applications would have
> been
> expensive.

I'm sure they could have done a better job on the conversion without
compromising the features of .net though. In terms of MS's budget I don't
think it would have been terribly expensive either.

Michael
Author
18 Oct 2005 6:42 AM
Gary Nelson
Ralph,

Perhaps no one calculated the cost of thousands of irate developers not
adopting the .NET platform? An easy transition from VB6 to VB.NET would have
given a large push to the platform. Does that not have a dollar value?

Gary


Show quoteHide quote
> To provide an adequate 'migration' path for VBc applications would have
> been
> expensive. There is far more involved than merely maintaining some
> 'language' compatibility. It could have been done, but it wouldn't have
> been
> cheap, and it wouldn't have been flawless. (Witness some of the early
> horror
> stories with C++ manage code.) Even if they had decided to create such an
> animal, I doubt a 100% 'stable' VBc-VB.net conversion addin/designer would
> even exist until now (dotnet 2005).
>
> Plus in the meantime they would not only have received the same criticism
> concerning dotNet, they would have had to listen to why their conversion
> process was so clumsy.(However, had they created a license agreement for
> the
> VBRuntime, VB IDE, and binary formats - I think they would have been
> amazed
> about how much 3rd party, mvp, et al support they would have gotten. But
> that is another story.)
>
> So here is this 'decision-maker' (call him 'Mr. B') making his plea to
> save
> millions of dollars. Look how much better the ROI looks if Mr. B says - by
> disbanding the VB/COM group we save X million dollars now, and continue to
> save X million over the next 5 years - compared to saying - if we spend
> this
> X millions now we will preserve the investments of others and make other
> people happy. As far as Mr B is concerned, it is a no-brainer.
>
> If you consider a dollar saved is worth fives dollars spent to make three,
> then add in the sheer bad manners that comes from being #1. (To paraphase
> an
> earlier 20th century CEO - What's good for MS, is good for the world.)
> There
> is little reason to wonder why Mr B did what he did.
Author
18 Oct 2005 1:58 PM
Ralph
Show quote Hide quote
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23531S860FHA.4032@TK2MSFTNGP15.phx.gbl...
> Ralph,
>
> Perhaps no one calculated the cost of thousands of irate developers not
> adopting the .NET platform? An easy transition from VB6 to VB.NET would
have
> given a large push to the platform. Does that not have a dollar value?
>
> Gary
>
>
> > To provide an adequate 'migration' path for VBc applications would have
> > been
> > expensive. There is far more involved than merely maintaining some
> > 'language' compatibility. It could have been done, but it wouldn't have
> > been
> > cheap, and it wouldn't have been flawless. (Witness some of the early
> > horror
> > stories with C++ manage code.) Even if they had decided to create such
an
> > animal, I doubt a 100% 'stable' VBc-VB.net conversion addin/designer
would
> > even exist until now (dotnet 2005).
> >
> > Plus in the meantime they would not only have received the same
criticism
> > concerning dotNet, they would have had to listen to why their conversion
> > process was so clumsy.(However, had they created a license agreement for
> > the
> > VBRuntime, VB IDE, and binary formats - I think they would have been
> > amazed
> > about how much 3rd party, mvp, et al support they would have gotten. But
> > that is another story.)
> >
> > So here is this 'decision-maker' (call him 'Mr. B') making his plea to
> > save
> > millions of dollars. Look how much better the ROI looks if Mr. B says -
by
> > disbanding the VB/COM group we save X million dollars now, and continue
to
> > save X million over the next 5 years - compared to saying - if we spend
> > this
> > X millions now we will preserve the investments of others and make other
> > people happy. As far as Mr B is concerned, it is a no-brainer.
> >
> > If you consider a dollar saved is worth fives dollars spent to make
three,
> > then add in the sheer bad manners that comes from being #1. (To
paraphase
> > an
> > earlier 20th century CEO - What's good for MS, is good for the world.)
> > There
> > is little reason to wonder why Mr B did what he did.
>


"Does that not have a dollar value?"

I am sure it does, and I am sure it did. As it must have come up during the
initial planning for the move to .NET, but apparently not enough.

Appreciate that providing a VBc 'bridge' to dotnet, would not have been as
easy or cheap as so many VB developers believe. It would have been a highly
unique and specialized project. It would have taken a lot of resources, a
combination of specialists, and a dedication to a principle of "VBness". In
short, just the sort of secondary revenue draining effort dotNet was
envisioned to 'replace'. And perhaps, more importantly, something that VB
itself has never, ever, really enjoyed.

I think it can be argued that MS NEVER understood VB. From its very
beginnings it was always more of a 'dancing bear' phenomena to them. They
thought it was cute enough when first released, but VBXs and the growth
industry that followed completely surprised them. Even when VB was the
primary development platform for Windows, they always seemed to give it
second-hand status - a pleasant accident - but that was likely not to last.
Ask any long-term VBer what they would have liked to see in VB and you will
come up with a list that 'started' 15 years ago, with many of the same items
still on the list. All items that could have been 'easily' implemented, yet
never were. Why?

[Someone brought up FoxPro, which makes an interesting comparison. It has an
amazing list of OOPL features. Features provided over the years by a much
smaller team with fewer resources - but apparently a team allowed to work on
their own with far less outside influence.]

As far as 'cutting off some heads', who in the company can even touch the
head of Mr. B? And as long as next quarter's profits are met, why would
anyone want to?

-ralph
Author
18 Oct 2005 4:16 PM
Stefan Berglund
On Tue, 18 Oct 2005 08:58:09 -0500, "Ralph" <nt_consultin***@yahoo.com> wrote:
in <iJ6dnRBSCPsYYsneRVn***@arkansas.net>

Show quoteHide quote
>
>"Gary Nelson" <gn@nospam.com> wrote in message
>news:%23531S860FHA.4032@TK2MSFTNGP15.phx.gbl...
>> Ralph,
>>
>> Perhaps no one calculated the cost of thousands of irate developers not
>> adopting the .NET platform? An easy transition from VB6 to VB.NET would
>have
>> given a large push to the platform. Does that not have a dollar value?
>>
>> Gary
>"Does that not have a dollar value?"
>
>I am sure it does, and I am sure it did. As it must have come up during the
>initial planning for the move to .NET, but apparently not enough.
>
>Appreciate that providing a VBc 'bridge' to dotnet, would not have been as
>easy or cheap as so many VB developers believe. It would have been a highly
>unique and specialized project. It would have taken a lot of resources, a
>combination of specialists, and a dedication to a principle of "VBness". In
>short, just the sort of secondary revenue draining effort dotNet was
>envisioned to 'replace'. And perhaps, more importantly, something that VB
>itself has never, ever, really enjoyed.

How can you talk about revenue drain when their cash assets exceed 50 billion?
And what about the billions they've wasted defending their gorilla tactics
against their competitors.  And what about the billions they've wasted in
markets where they don't belong?  Yeah baby, that's all far more important than
caring for a customer base and the customer's assets.

---
Stefan Berglund
Author
18 Oct 2005 7:00 PM
Ralph
Show quote Hide quote
"Stefan Berglund" <keepit@in.thegroups> wrote in message
news:in7al15lhnh8ck6l4a8qjuln3e4rs7dirt@4ax.com...
> On Tue, 18 Oct 2005 08:58:09 -0500, "Ralph" <nt_consultin***@yahoo.com>
wrote:
>  in <iJ6dnRBSCPsYYsneRVn***@arkansas.net>
>
> >
> >"Gary Nelson" <gn@nospam.com> wrote in message
> >news:%23531S860FHA.4032@TK2MSFTNGP15.phx.gbl...
> >> Ralph,
> >>
> >> Perhaps no one calculated the cost of thousands of irate developers not
> >> adopting the .NET platform? An easy transition from VB6 to VB.NET would
> >have
> >> given a large push to the platform. Does that not have a dollar value?
> >>
> >> Gary
> >"Does that not have a dollar value?"
> >
> >I am sure it does, and I am sure it did. As it must have come up during
the
> >initial planning for the move to .NET, but apparently not enough.
> >
> >Appreciate that providing a VBc 'bridge' to dotnet, would not have been
as
> >easy or cheap as so many VB developers believe. It would have been a
highly
> >unique and specialized project. It would have taken a lot of resources, a
> >combination of specialists, and a dedication to a principle of "VBness".
In
> >short, just the sort of secondary revenue draining effort dotNet was
> >envisioned to 'replace'. And perhaps, more importantly, something that VB
> >itself has never, ever, really enjoyed.
>
> How can you talk about revenue drain when their cash assets exceed 50
billion?
> And what about the billions they've wasted defending their gorilla tactics
> against their competitors.  And what about the billions they've wasted in
> markets where they don't belong?  Yeah baby, that's all far more important
than
> caring for a customer base and the customer's assets.
>
> ---
> Stefan Berglund
>

I was being mildly sarcastic. Obviously somebody considered it to be
too-expensive for the return, or at least used that excuse to justify
dropping it. (At some point everything becomes a matter of money.) Which was
also often the case during the life of VBc for adding features.

There is no doubt MS could have come up with the money and resources if they
had wished to continue VBc. As you noted, in another post, it is quite
obvious that they did not. While I am convinced that dollars lie at the root
of the decision (as it is also a prime motivation for dotNet), it certainly
wasn't the only reason.

All the details will eventually come out. It will be interesting to see what
the future holds for MS.

-ralph
Author
19 Oct 2005 11:37 AM
J French
On Tue, 18 Oct 2005 14:00:28 -0500, "Ralph"
<nt_consultin***@yahoo.com> wrote:

<snip>

>While I am convinced that dollars lie at the root
>of the decision (as it is also a prime motivation for dotNet), it certainly
>wasn't the only reason.

During the late 80's and early 90's there was a lot of MS 'sneering'
at BASIC

That got sorted out when B.G. went public stating that BASIC would be
the core scripting language for OLE automation.

A few words from the boss shut them up big time.

>All the details will eventually come out. It will be interesting to see what
>the future holds for MS.

True - when a company forgets its past it often jeopardizes its
future.

MS made its money by tackling 'corporate' computing head on from small
relatively inexpensive computers programmed by 'little guys' that were
fast on their feet.

In essence, we bypassed the IT departments and produced working
systems - rather than man-year estimates.

Then networking started and the IT department crept back as network
administrators.

MS has become its old enemy
Author
19 Oct 2005 4:33 PM
Ralph
Show quote Hide quote
"J French" <erew***@nowhere.uk> wrote in message
news:43562d32.1701587@news.btopenworld.com...
> On Tue, 18 Oct 2005 14:00:28 -0500, "Ralph"
> <nt_consultin***@yahoo.com> wrote:
>
> <snip>
>
> >While I am convinced that dollars lie at the root
> >of the decision (as it is also a prime motivation for dotNet), it
certainly
> >wasn't the only reason.
>
> During the late 80's and early 90's there was a lot of MS 'sneering'
> at BASIC
>
> That got sorted out when B.G. went public stating that BASIC would be
> the core scripting language for OLE automation.
>
> A few words from the boss shut them up big time.
>
> >All the details will eventually come out. It will be interesting to see
what
> >the future holds for MS.
>
> True - when a company forgets its past it often jeopardizes its
> future.
>
> MS made its money by tackling 'corporate' computing head on from small
> relatively inexpensive computers programmed by 'little guys' that were
> fast on their feet.
>
> In essence, we bypassed the IT departments and produced working
> systems - rather than man-year estimates.
>
> Then networking started and the IT department crept back as network
> administrators.
>
> MS has become its old enemy

VB/BASIC has always been sneered at, and as you noted both by 'outsiders'
and MS itself. I remember being in Redmond and listening to the rants
against VB by MS C++ developers and MS 'insiders'. (Of course the fact that
VB was shipping and we were still trying to get AFX/MFC to work seems to
have escaped notice. <g>) Even from the beginning VB was considered just a
'temporary' intermediate development tool.

I fully understood their position, because frankly VB is (was) just sooo...
wrong on sooo... many levels. (Need we iterate them all here? <g>) But it
did accomplish Mr. Cooper's goal of delivering a way to create Windows/GUI
applications for the adverage programmer. And it worked - again on so many
levels.

With all its obvious 'inadequacies' it is hard to imagine how VB became so
popular and why it has had such a dramatic effect on Windows. There are many
explanations - most of them dwelling on the "Beginner" part. But even then
it is hard to explain so many rather sophisticated applications that were
created with it. After all, surely 'intermediate' programmers would have
abandoned it, by the second delivery? <g>

This thing that VBc had - call it "VBness" - I'm not sure was ever really
understood by anyone. It almost seems like the common man's definition of
"Good Art" - "I can't describe it, but I know it when I see it."

I doubt if I have any more understanding that anyone else, but I think much
of VB's strength came from the fact it was a mutt. It was sort of OO, but
not pissy about it. It did "COM", but never so much you shot yourself in a
vital organ. 90% of anything you wanted to do was but a click away. Simple
error handling, almost mindless controls, straight-forward data handling,
and splice 'n dice with perhaps the simplest syntax possible. It brought a
lot of technolgies together and made them practically transparent.

Apparently, as one of dotnet's stated goals is to also bring programming to
the masses, MS thought they could position VB.Net in this role. I don't
think it is working. It may have similar syntax, but it pure dotNet, no
hybrid, no feet in another world, it lacks "VBness".

I believe MS is missing the point in not providing a 'mutt' for .Net. Not
sure what that creature would look like, but I'll know it when I see it. <g>

-ralph
Author
19 Oct 2005 9:21 PM
Karl E. Peterson
J French wrote:
Show quoteHide quote
> True - when a company forgets its past it often jeopardizes its
> future.
>
> MS made its money by tackling 'corporate' computing head on from small
> relatively inexpensive computers programmed by 'little guys' that were
> fast on their feet.
>
> In essence, we bypassed the IT departments and produced working
> systems - rather than man-year estimates.
>
> Then networking started and the IT department crept back as network
> administrators.
>
> MS has become its old enemy

"Microsoft has become what it used to mock," says Gabe Newell, a developer on the
first three versions of Windows. At late-night rounds of poker with "Bill and Steve"
in the mid-1980s, he says, "we laughed at IBM. They had all this process for
monitoring productivity, and yet we knew they had spectacularly bad productivity.
That's Microsoft now."
-
http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html
--
Working Without a .NET?
http://classicvb.org/petition
Author
20 Oct 2005 4:03 PM
Stefan Berglund
On Wed, 19 Oct 2005 14:21:24 -0700, "Karl E. Peterson" <k***@mvps.org> wrote:
in <uY0EQMP1FHA.2***@TK2MSFTNGP15.phx.gbl>

Show quoteHide quote
>J French wrote:
>> True - when a company forgets its past it often jeopardizes its
>> future.
>>
>> MS made its money by tackling 'corporate' computing head on from small
>> relatively inexpensive computers programmed by 'little guys' that were
>> fast on their feet.
>>
>> In essence, we bypassed the IT departments and produced working
>> systems - rather than man-year estimates.
>>
>> Then networking started and the IT department crept back as network
>> administrators.
>>
>> MS has become its old enemy
>
> "Microsoft has become what it used to mock," says Gabe Newell, a developer on the
>first three versions of Windows. At late-night rounds of poker with "Bill and Steve"
>in the mid-1980s, he says, "we laughed at IBM. They had all this process for
>monitoring productivity, and yet we knew they had spectacularly bad productivity.
>That's Microsoft now."
> -
>http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html

Fascinating reading, although this has been intuitively obvious to the most
casual observer for some time now.

---
Stefan Berglund
Author
20 Oct 2005 4:29 PM
Jim Mack
Stefan Berglund wrote:

> http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html

> Fascinating reading, although this has been intuitively obvious to
> the most
> casual observer for some time now.

I can't take seriously a writer who could produce this:

"The company relies on Windows and a suite of desktop applications -- products released a decade ago -- for 80% of sales and 140% of profits."

http://innumeracy.com/

--
        Jim
Author
20 Oct 2005 6:17 PM
Karl E. Peterson
Jim Mack wrote:
> Stefan Berglund wrote:
>
>>
http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html
>
>> Fascinating reading, although this has been intuitively obvious to
>> the most casual observer for some time now.
>
> I can't take seriously a writer who could produce this:
>
> "The company relies on Windows and a suite of desktop applications --
> products released a decade ago -- for 80% of sales and 140% of
> profits."
>
http://innumeracy.com/

LOL!  Oh man, I musta glazed right past that.  (Is that how one goes about getting
onto one of their lists? <g>)
--
Working Without a .NET?
http://classicvb.org/petition
Author
20 Oct 2005 11:03 PM
RonW
On Thu, 20 Oct 2005 11:17:07 -0700, "Karl E. Peterson" <k***@mvps.org> wrote:

>> "The company relies on Windows and a suite of desktop applications --
>> products released a decade ago -- for 80% of sales and 140% of
>> profits."
>>
>>  http://innumeracy.com/
>
>LOL!  Oh man, I musta glazed right past that.  (Is that how one goes about getting
>onto one of their lists? <g>)

Coulda been worse.... Coulda written "...800% of sales and 14% of profits." <g>

RW
Author
20 Oct 2005 7:18 PM
Ralph
>"Jim Mack" <jmack@mdxi.nospam.com> wrote in message
news:%>23sCXBOZ1FHA.3***@TK2MSFTNGP15.phx.gbl...
>Stefan Berglund wrote:
>
>>
http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html
Show quote Hide quote
>
>> Fascinating reading, although this has been intuitively obvious to
>> the most
>> casual observer for some time now.
>
>I can't take seriously a writer who could produce this:
>
>"The company relies on Windows and a suite of desktop applications --
>products released a decade ago -- for 80% of sales and 140% of profits."
>
> http://innumeracy.com/
>
>--
>        Jim

That would be a hard company to work for. I mean what would your quota look
like for next quarter?

-ralph
Author
20 Oct 2005 11:20 PM
Jim Mack
Ralph wrote:
Show quoteHide quote
>> "Jim Mack" <jmack@mdxi.nospam.com> wrote in message
>>
>> "The company relies on Windows and a suite of desktop applications --
>> products released a decade ago -- for 80% of sales and 140% of
>> profits."
>>
>> http://innumeracy.com/
>>
>> --
>>        Jim
>
> That would be a hard company to work for. I mean what would your
> quota look
> like for next quarter?


I don't know, but I'll bet they expect a 110% effort.

--
        Jim
Author
21 Oct 2005 1:27 AM
Stefan Berglund
On Thu, 20 Oct 2005 12:29:53 -0400, "Jim Mack" <jmack@mdxi.nospam.com> wrote:
in <#sCXBOZ1FHA.3***@TK2MSFTNGP15.phx.gbl>

>Stefan Berglund wrote:
>
>> http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html
>
>> Fascinating reading, although this has been intuitively obvious to
>> the most
>> casual observer for some time now.
>
>I can't take seriously a writer who could produce this:
>
>"The company relies on Windows and a suite of desktop applications -- products released a decade ago -- for 80% of sales and 140% of profits."
>
> http://innumeracy.com/

I guess if you want to react that way I can understand because I refused to sign
my son's school progress report because it showed that he had scored in excess
of 100% in math and that's just not possible.

But as used in the article I would interpret it to be a poorly veiled literary
attempt at describing a situation in which the out go exceeds the in come.

---
Stefan Berglund
Author
21 Oct 2005 2:23 AM
mscir
Stefan Berglund wrote:
Show quoteHide quote
> On Thu, 20 Oct 2005 12:29:53 -0400, "Jim Mack" <jmack@mdxi.nospam.com> wrote:
>  in <#sCXBOZ1FHA.3***@TK2MSFTNGP15.phx.gbl>
>
>
>>Stefan Berglund wrote:
>>
>>
>>>http://www.forbes.com/home/technology/2005/09/12/microsoft-management-software_cz_vm_0913microsoft.html
>>
>>>Fascinating reading, although this has been intuitively obvious to
>>>the most
>>>casual observer for some time now.
>>
>>I can't take seriously a writer who could produce this:
>>
>>"The company relies on Windows and a suite of desktop applications -- products released a decade ago -- for 80% of sales and 140% of profits."
>>
>>http://innumeracy.com/
>
>
> I guess if you want to react that way I can understand because I refused to sign
> my son's school progress report because it showed that he had scored in excess
> of 100% in math and that's just not possible.
>
> But as used in the article I would interpret it to be a poorly veiled literary
> attempt at describing a situation in which the out go exceeds the in come.
> Stefan Berglund

Are they trying to say that -40% profits somewhere else (losing
divisions) are offset by this amount for a sum total of 100%?

Mike
Author
21 Oct 2005 7:36 AM
J French
On Thu, 20 Oct 2005 19:23:41 -0700, mscir <ms***@yahoo.com> wrote:

<snip>

>>>"The company relies on Windows and a suite of desktop applications -- products released a decade ago -- for 80% of sales and 140% of profits."

>Are they trying to say that -40% profits somewhere else (losing
>divisions) are offset by this amount for a sum total of 100%?

Spot on:

   80% of sales generate  $  1.4x  (profit)
   20% of sales generate  $ -0.4x  (loss)

   100% of sales generate $ 1.0x  (Total Profit)

This kind of figures as new products (and unsuccessful products) are
likely to generate a loss.
Author
21 Oct 2005 10:21 AM
Jim Mack
mscir wrote:
>
> Are they trying to say that -40% profits somewhere else (losing
> divisions) are offset by this amount for a sum total of 100%?

Yesterday I ate 140% of a sandwich.

--
        Jim
Author
21 Oct 2005 11:22 AM
mscir
Jim Mack wrote:
> mscir wrote:
>
>>Are they trying to say that -40% profits somewhere else (losing
>>divisions) are offset by this amount for a sum total of 100%?
>
>
> Yesterday I ate 140% of a sandwich.

Heck, I didn't say I liked it <g>, I was just looking for the possible
"logic" behind the statement. I fully believe the culture is in decline,
and one of the symptoms is a decline in literacy ("Twilight of the
American Culture" by Berman.) But usually I don't see it from
professionals, at least not that blatantly.
Author
21 Oct 2005 11:35 AM
Ralph
>"Jim Mack" <jmack@mdxi.nospam.com> wrote in message
>news:enra1ki1FHA.2964@TK2MSFTNGP09.phx.gbl...
>mscir wrote:
>>
>> Are they trying to say that -40% profits somewhere else (losing
>> divisions) are offset by this amount for a sum total of 100%?
>
>Yesterday I ate 140% of a sandwich.
>
>--
>        Jim

Missing some fingers?

-ralph
Author
21 Oct 2005 11:58 PM
Jim Carlock
"Jim Mack" <jmack@mdxi.nospam.com> drooled:
>Yesterday I ate 140% of a sandwich.

"Ralph" <nt_consultin***@yahoo.com> asked:
> Missing some fingers?

Or,

A really small sandwich, consumption of the plate and
napkins, and possibly a bite out of the table too...

A small sandwich and a couple bottles of 140 Proof...
http://www.jayski.com/jack/newtour.htm

A Charlie Distiller... http://encode.com/exec/npage2.htm

Sounds like a really good sandwich in any case.

--
Jim Carlock
Post replies to the newsgroup, thanks.
Author
21 Oct 2005 10:18 AM
Jim Mack
Stefan Berglund wrote:

>
> But as used in the article I would interpret it to be a poorly veiled
> literary attempt at describing a situation in which the out go exceeds
> the in come.

Maybe, but if so it was the only island in the sea of numbers presented in the article where any literary attempt was made. :-)

--
        Jim
Author
18 Oct 2005 4:11 PM
Stefan Berglund
On Tue, 18 Oct 2005 07:42:10 +0100, "Gary Nelson" <gn@nospam.com> wrote:
in <#531S860FHA.4***@TK2MSFTNGP15.phx.gbl>

>Ralph,
>
>Perhaps no one calculated the cost of thousands of irate developers not
>adopting the .NET platform? An easy transition from VB6 to VB.NET would have
>given a large push to the platform. Does that not have a dollar value?
>
>Gary

I think what no one has realized yet is that Microsoft actually made a conscious
decision that they didn't want VB developers any longer.  How else can you
explain the situation?  I also think that the number that they put forth for VB
developers ( what was it ~6 million) was actually all part of their marketing
smoke and mirrors ploy.

---
Stefan Berglund
Author
18 Oct 2005 7:04 PM
Ralph
Show quote Hide quote
"Stefan Berglund" <keepit@in.thegroups> wrote in message
news:8d7al1d6pk9k2i5e56o4vnt2bc75kld5dd@4ax.com...
> On Tue, 18 Oct 2005 07:42:10 +0100, "Gary Nelson" <gn@nospam.com> wrote:
>  in <#531S860FHA.4***@TK2MSFTNGP15.phx.gbl>
>
> >Ralph,
> >
> >Perhaps no one calculated the cost of thousands of irate developers not
> >adopting the .NET platform? An easy transition from VB6 to VB.NET would
have
> >given a large push to the platform. Does that not have a dollar value?
> >
> >Gary
>
> I think what no one has realized yet is that Microsoft actually made a
conscious
> decision that they didn't want VB developers any longer.  How else can you
> explain the situation?  I also think that the number that they put forth
for VB
> developers ( what was it ~6 million) was actually all part of their
marketing
> smoke and mirrors ploy.
>
> ---
> Stefan Berglund

I believe most VBers are well aware of that fact. It angers those with an
investment in VBc technology, annoys some, and it gives strength to others
to abandon VBc.

-ralph
Author
17 Oct 2005 10:44 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23LbTq7u0FHA.2348@TK2MSFTNGP15.phx.gbl...
> Actually I doubt that many here would actually affirm that Vb.Net is a
> "poor language".

There's a reasonable number here who think it's a poor language based on
very little knowledge.

> It's more a case of 'sour grapes'. VB.Net is simply out of reach for a lot
> of classic developers (including myself).

None of this was in dispute.

Michael
Author
7 Oct 2005 2:07 PM
Paul Clement
On Thu, 6 Oct 2005 14:23:21 +1000, "Michael C" <mculley@NOSPAMoptushome.com.au> wrote:

¤ Those people in this group bagging .net are those who don't really know it.
¤ Anyone who's bothered to learn it seems to understand why it's superior.
¤ Sorry guys, I just had to say it after reading through a thread about why
¤ vb6 is better than dot net because someone couldn't work out how to change
¤ the startup form on their first day of using it and other similarly minor
¤ issues. :-)
¤
¤ Michael
¤

If you haven't noticed, this newsgroup is comprised mostly of diehard Classic Visual Basic
developers so I wouldn't anticipate many positive comments (or truths) concerning VB.NET.

In any event, Classic Visual Basic is suitable for some folks and that is why they have chosen to
stick with it despite the fact that it has no future.


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
7 Oct 2005 2:28 PM
Ken Halter
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:0pvck15b81qa0m1kk7iek9v2kiqcnj6rb9@4ax.com...
>
> If you haven't noticed, this newsgroup is comprised mostly of diehard
> Classic Visual Basic
> developers so I wouldn't anticipate many positive comments (or truths)
> concerning VB.NET.
>
> In any event, Classic Visual Basic is suitable for some folks and that is
> why they have chosen to
> stick with it despite the fact that it has no future.

True... no future... in fact, BASIC is dead, period. B# = pseudo code
version of C#, and nothing more. That's Ok as the company I work for is
finally starting to think about a VS update. I'll probably tinker with the
framework in B# but I doubt they'll let me actually write apps with it.
Especially when they realize the amount of effort it's going to be to do the
switch. No company is going to want to re-write everything every few years
so the best bet would be to stick with a language based on C which, as ugly
as it is, seems like it'll never die. Heck... there are even (ansi)
standards written for C... imagine that.

>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)



--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
20 Oct 2005 8:55 PM
jameshamilton777
Think you've missed the point. Anyone who uses VB.NET can see that it
is a great dev environment.

But no-one is using it because:

Apps created using it will require a 25MB install. Therefore you will
have no competitive advantage against a 2MB app. Therefore your
business will fail.

Apps created using .NET run sloooooooow.

Developers would have to rewrite all their apps for no business
benefit. Therefore the business will fail.

You are a techie not a business person. That is why you will never be
able to understand.
Author
21 Oct 2005 1:04 AM
Ralph
<jameshamilton***@hotmail.com> wrote in message
Show quoteHide quote
news:1129841707.073854.184860@g44g2000cwa.googlegroups.com...
> Think you've missed the point. Anyone who uses VB.NET can see that it
> is a great dev environment.
>
> But no-one is using it because:
>
> Apps created using it will require a 25MB install. Therefore you will
> have no competitive advantage against a 2MB app. Therefore your
> business will fail.
>
> Apps created using .NET run sloooooooow.
>
> Developers would have to rewrite all their apps for no business
> benefit. Therefore the business will fail.
>
> You are a techie not a business person. That is why you will never be
> able to understand.
>

MS is planning to manage all SPs, fixes, and installs. Newer platforms come
with the Framework. They expect the others to download the Framework as part
of their subscriptions, hotfixes, etc. .Net applications will become so
incrediably popular clients will be begging for installs.

The next platform will not only come with the Framework, but most of it will
have moved into the kernel and become part of the OS. Improving speed and
allowing vendors to only have to supply far smaller amounts of code.
(Remember the Framework supplies 80% of the functionality.)

Mr. B will be hailed as the technology innovator of the new millennium, and
Time's Man of the Year.

Anyway, I think that is the plan. <g>

-ralph
Author
21 Oct 2005 12:12 PM
Bob Butler
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:WpmdnYG6Ro800MXeRVn-uQ@arkansas.net
> MS is planning to manage all SPs, fixes, and installs. Newer
> platforms come with the Framework.

The problem with all of that is the same as it's been for the VB runtimes;
the users are frequently a version or two behind and you can never count on
them having the runtimes they need to run the app so you always have to plan
to deploy everything.  It all sounds good at the marketing level but quickly
falls apart in practice.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
21 Oct 2005 3:45 PM
Ralph
Show quote Hide quote
"Bob Butler" <tiredofit@nospam.com> wrote in message
news:%23rigqij1FHA.4032@TK2MSFTNGP15.phx.gbl...
> "Ralph" <nt_consultin***@yahoo.com> wrote in message
> news:WpmdnYG6Ro800MXeRVn-uQ@arkansas.net
> > MS is planning to manage all SPs, fixes, and installs. Newer
> > platforms come with the Framework.
>
> The problem with all of that is the same as it's been for the VB runtimes;
> the users are frequently a version or two behind and you can never count
on
> them having the runtimes they need to run the app so you always have to
plan
> to deploy everything.  It all sounds good at the marketing level but
quickly
> falls apart in practice.
>


Totally agree. I was trying to be facetious.

"One thing I noticed"* when the Framework first appeared in beta was that MS
had gone to great lengths to insure compatibilty with different versions of
the Framework. I was impressed. Followed all the rules...

I believe they 'broke' it with the 2 or 3rd installment. <g>

-ralph
Author
21 Oct 2005 4:57 PM
Stefan Berglund
On Thu, 20 Oct 2005 20:04:18 -0500, "Ralph" <nt_consultin***@yahoo.com> wrote:
in <WpmdnYG6Ro800MXeRVn***@arkansas.net>

Show quoteHide quote
>
><jameshamilton***@hotmail.com> wrote in message
>news:1129841707.073854.184860@g44g2000cwa.googlegroups.com...
>> Think you've missed the point. Anyone who uses VB.NET can see that it
>> is a great dev environment.
>>
>> But no-one is using it because:
>>
>> Apps created using it will require a 25MB install. Therefore you will
>> have no competitive advantage against a 2MB app. Therefore your
>> business will fail.
>>
>> Apps created using .NET run sloooooooow.
>>
>> Developers would have to rewrite all their apps for no business
>> benefit. Therefore the business will fail.
>>
>> You are a techie not a business person. That is why you will never be
>> able to understand.
>>
>
>MS is planning to manage all SPs, fixes, and installs. Newer platforms come
>with the Framework. They expect the others to download the Framework as part
>of their subscriptions, hotfixes, etc. .Net applications will become so
>incrediably popular clients will be begging for installs.
>
>The next platform will not only come with the Framework, but most of it will
>have moved into the kernel and become part of the OS. Improving speed and
>allowing vendors to only have to supply far smaller amounts of code.
>(Remember the Framework supplies 80% of the functionality.)
>
>Mr. B will be hailed as the technology innovator of the new millennium, and
>Time's Man of the Year.
>
>Anyway, I think that is the plan. <g>
>
>-ralph

Ooh!  Ooh!  Where can I sign up to have Microsoft be the keeper and guardian of
all my assets since they've demonstrated such due diligence regarding my source
code assets.  Ha Ha Ha.

---
Stefan Berglund
Author
23 Oct 2005 11:07 PM
Michael C
<jameshamilton***@hotmail.com> wrote in message
news:1129841707.073854.184860@g44g2000cwa.googlegroups.com...
> Think you've missed the point. Anyone who uses VB.NET can see that it
> is a great dev environment.

I think you missed the point because you've gone and done exactly what I was
talking about in my original post. :-)

> But no-one is using it because:

That's just plain wrong, people are using it. Look at the questions that get
raised in this group, there are almost no advanced questions left here.

> Apps created using it will require a 25MB install. Therefore you will
> have no competitive advantage against a 2MB app. Therefore your
> business will fail.

Again just plain wrong. CDs hold 700MB and it can actually look better if
it's fuller, it gives the customer the impression you've done more work. VB6
apps take 10 meg or so anyway, not 2.

> Apps created using .NET run sloooooooow.

..Net apps do run a little slower but not that much. Startup is slower but
once it's running performance is quite good.

> Developers would have to rewrite all their apps for no business
> benefit. Therefore the business will fail.

Plain wrong again. There is a benefit although it could be argued it's
minimal but this will not automatically lead to business failure. Existing
apps could be left in vb6 and new apps written in .net.

> You are a techie not a business person. That is why you will never be
> able to understand.

Actually I am both.

Michael
Author
24 Oct 2005 2:20 AM
mayayana
> > Apps created using it will require a 25MB install. Therefore you will
> > have no competitive advantage against a 2MB app. Therefore your
> > business will fail.
>
> Again just plain wrong. CDs hold 700MB and it can actually look better if
> it's fuller, it gives the customer the impression you've done more work.
VB6
> apps take 10 meg or so anyway, not 2.
>
   So .Net is good for creating excessive bulk
to pad CDs? Why didn't you say so?! I thought
you were recommending it as a programming
tool.
     I happen to be looking for just the sort of
thing that you're selling. I need to create a 699 MB
padding file so that I can make an impressive,
professional-looking CD for my software. Do you
think I should use VB.Net or C# for that? I've heard
that the learning curve for making CD stuffing with
C# is rather steep, but I'm willing to stick it out if
C# stuffs it better.
Author
24 Oct 2005 3:20 AM
Michael C
Show quote Hide quote
"mayayana" <mayayanaX***@mindXXspring.com> wrote in message
news:byX6f.588$AS6.507@newsread3.news.atl.earthlink.net...
>   So .Net is good for creating excessive bulk
> to pad CDs? Why didn't you say so?! I thought
> you were recommending it as a programming
> tool.
>     I happen to be looking for just the sort of
> thing that you're selling. I need to create a 699 MB
> padding file so that I can make an impressive,
> professional-looking CD for my software. Do you
> think I should use VB.Net or C# for that? I've heard
> that the learning curve for making CD stuffing with
> C# is rather steep, but I'm willing to stick it out if
> C# stuffs it better.

Very funny. The point was that most apps ship on CD so an extra 10meg out of
700 isn't going to make any difference.

Michael
Author
24 Oct 2005 8:42 AM
Gary Nelson
Michael,

> Plain wrong again. There is a benefit although it could be argued it's
> minimal but this will not automatically lead to business failure. Existing
> apps could be left in vb6 and new apps written in .net.

That's a great philosophy if your business is making little 'throw-away'
apps. I've been selling virtually the same app for nearly twenty years. What
do you suggest I do?

Gary
Author
24 Oct 2005 11:32 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:OLrGUbH2FHA.3204@TK2MSFTNGP14.phx.gbl...
> That's a great philosophy if your business is making little 'throw-away'
> apps. I've been selling virtually the same app for nearly twenty years.
> What do you suggest I do?

If there's the budget for a re-write and other possible reasons for a
re-write then re-write it. If not then leave it in vb6.

Michael
Author
24 Oct 2005 4:33 PM
Gary Nelson
Michael,

> If there's the budget for a re-write and other possible reasons for a
> re-write then re-write it. If not then leave it in vb6.

That comment is the reason you shouldn't be giving these useless sugestions.
Practically all of us who are stuck in VB6 are stuck for the same reason.
Too much VB6 source code and too expensive to port.

If I've got one main application and I am going to still be selling and
maintaining that app ten years from now, and if there is no budget for a
re-write, that means I am stuck with VB6 for the forseeable future. It is
not a case of choice but of  ROI.

Gary
Author
24 Oct 2005 7:24 PM
Ralph
Show quote Hide quote
"Gary Nelson" <gn@nospam.com> wrote in message
news:ursBviL2FHA.3000@TK2MSFTNGP12.phx.gbl...
> Michael,
>
> > If there's the budget for a re-write and other possible reasons for a
> > re-write then re-write it. If not then leave it in vb6.
>
> That comment is the reason you shouldn't be giving these useless
sugestions.
> Practically all of us who are stuck in VB6 are stuck for the same reason.
> Too much VB6 source code and too expensive to port.
>
> If I've got one main application and I am going to still be selling and
> maintaining that app ten years from now, and if there is no budget for a
> re-write, that means I am stuck with VB6 for the forseeable future. It is
> not a case of choice but of  ROI.
>
> Gary
>

And a large part, as it has been hammered on over 'n over - is why do the
port?

Is it to gain performance? All tests I have done have demonstrated dotnet
versions to be slower or 'just as good'.

Is it to gain some feature? Everything I have seen so far in dotNet is a
subset or 'just as good'.

There are some areas of dotNet that are handled a bit better - XML comes to
mind. But if you already have fought that war and have something that
works - what's the point? Its like telling someone with a new house, they
should tear it down and rebuild it, because they could have built it easier
and 20 days faster with different techniques and a different contractor.

-ralph
Author
25 Oct 2005 7:05 AM
Gary Nelson
Ralph,

> And a large part, as it has been hammered on over 'n over - is why do the
> port?

In my case, the only reason to do the port is not to get locked in the past.
Although .net has a lot of interesting things going for it, none of them at
present are absolutely necessary for the Windows development I do.

Gary

Show quoteHide quote
>
> Is it to gain performance? All tests I have done have demonstrated dotnet
> versions to be slower or 'just as good'.
>
> Is it to gain some feature? Everything I have seen so far in dotNet is a
> subset or 'just as good'.
>
> There are some areas of dotNet that are handled a bit better - XML comes
> to
> mind. But if you already have fought that war and have something that
> works - what's the point? Its like telling someone with a new house, they
> should tear it down and rebuild it, because they could have built it
> easier
> and 20 days faster with different techniques and a different contractor.
>
> -ralph
>
>
Author
25 Oct 2005 7:36 AM
Michael C
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:zNWdnWVsLf8CqcDeRVn-1Q@arkansas.net...
> Is it to gain some feature? Everything I have seen so far in dotNet is a
> subset or 'just as good'.

Usually I agree with most of what you say but this statement is the very
reason I started this thread. To say that everything in dot net is a subset
of vb6 is totally and utterly wrong. Dot net is far far superior to vb6.

> There are some areas of dotNet that are handled a bit better - XML comes
> to
> mind. But if you already have fought that war and have something that
> works - what's the point?

Right, the difference between vb6 and .net boils down to better handling of
xml. ;-)

> Its like telling someone with a new house, they
> should tear it down and rebuild it, because they could have built it
> easier
> and 20 days faster with different techniques and a different contractor.

If the house never changes then you wouldn't tear it down, but if it was
being worked on constantly over the years getting bigger and bigger starting
off with bambo foundations and moving between technologies as they were
invented then it would get to the point where you would need to tear it down
and start over. :-)

Michael
Author
25 Oct 2005 1:15 PM
Ralph
Show quote Hide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:ePRK8aT2FHA.3596@TK2MSFTNGP12.phx.gbl...
> "Ralph" <nt_consultin***@yahoo.com> wrote in message
> news:zNWdnWVsLf8CqcDeRVn-1Q@arkansas.net...
> > Is it to gain some feature? Everything I have seen so far in dotNet is a
> > subset or 'just as good'.
>
> Usually I agree with most of what you say but this statement is the very
> reason I started this thread. To say that everything in dot net is a
subset
> of vb6 is totally and utterly wrong. Dot net is far far superior to vb6.
>
> > There are some areas of dotNet that are handled a bit better - XML comes
> > to
> > mind. But if you already have fought that war and have something that
> > works - what's the point?
>
> Right, the difference between vb6 and .net boils down to better handling
of
> xml. ;-)
>
> > Its like telling someone with a new house, they
> > should tear it down and rebuild it, because they could have built it
> > easier
> > and 20 days faster with different techniques and a different contractor.
>
> If the house never changes then you wouldn't tear it down, but if it was
> being worked on constantly over the years getting bigger and bigger
starting
> off with bambo foundations and moving between technologies as they were
> invented then it would get to the point where you would need to tear it
down
> and start over. :-)
>
> Michael
>
>

"To say that everything in dot net is a subset of vb6 is totally and utterly
wrong. Dot net is far far superior to vb6"

This is a difficult media and gets tougher as we drift into allegory.
<smile>

What I meant to convey was the fact that while I agree that dotNet offers a
really cool new development environment - as far as the finished product is
concerned - it really doesn't offer that much. There is no 'killer feature'.
There is very little when you're done that you can point to and go "Wow!"

I have a schizophrenic relationship with dotNet. As most would guess I am a
bit of 'shoot from the hip' OO bigot. I love dotNet. I have no qualms
jumping to the next job and playing with something new. I personally don't
have a large investment in legacy VBc code.

But my clients do. Few are OO bigots. Few appreciate "Let's do it this way
because it is cool". Most have a very large investment in 'legacy' code. Few
consider their applications 'bamboo huts'. (Frankly some are, many are not.)

It has always been relatively easy to go into a boardroom and pitch a MS
'upgrade' (VB4/5/6, MFC, ATL, COM+). DotNet is a tough sell.

Let me drift a bit farther - one of MS's competitors in the BoardRoom is
OpenSource. OpenSource's biggest selling feature is its independence from
"Vendor Tyranny". One could always counter this by pointing to MS's
exemplary record of maintaining backward-compatibiity. That argument just
got wipped out. I have had several clients that said - if we have to rewrite
why not just move to Linix/Java. (There are other reasons why this is a very
bad idea, but it is an move that in many cases in the past would not have
even been considered let alone adopted.)

Anyway, it just boils down to the fact that this issue is not a simple "Get
over it and move on". Wish it was. It is that simple for the guy with a
50,000 sqft house on a lake and for the lone wolf developer/shop, but for
everyone else in between - it has some impact on the pocketbook. Some people
consider that a poor return after 15-20 years of loyality.

-ralph
Author
24 Oct 2005 7:37 PM
Joseph Ferris
Gary Nelson wrote:

> If I've got one main application and I am going to still be selling and
> maintaining that app ten years from now, and if there is no budget for a
> re-write, that means I am stuck with VB6 for the forseeable future. It is
> not a case of choice but of  ROI.

Exactly.  It is not usually a case of one or the other, in regards of
whether an application should be ported or not.  There are lots of
things that need to be taken into consideration.

At one of my previous employers we had two substantially sized products
written in VB6.  One of them would be too time consuming to port.  The
reason is not that it couldn't be done, but it could not be done in a
reasonable timeframe and for a reasonable amount of money.  The shop
runs with three developers, but they are continually providing
functionality updates and bug fixes.  They couldn't source a single
person, or even a small team to port the project, as it would require
bringing in a consultant or hiring on a new developer to ensure that
customization would continue to be made for customers in a timely
fashion using the "legacy" codebase.  At a large shop, doing something
like this is a little more trivial, because there is a higher chance
that the resources are available.  Small to mid-sized shops seem to
have a higher chance of running into this scenario and have been
squeezed out by the lack of a smooth migration path.  (Note, I didn't
say that there wasn't a provided migration path - just it could have
been put under a hell of lot more consideration.)

The other application is one that I had the luxury of doing the design
work on.  I based a large amount of the code to operate in a "plug-in"
fashion.  This took into account, being able to rewrite the "Operations
Engine" in .Net quickly and calling the old DLLs via Interop.  This
provides a means to gradually port the individual plug-ins during bench
time.  Since each plug-in was basically just a class, porting them over
was not nearly as daunting as it could have been.

In my experience, since .Net was initially released, is that the
applications that have a higher probability of being ported are
applications that exist in a shop of large resources (either
financially or staffing, usually both) or applications that were
written specifically with the nugget in the back of the mind that it
should be written in a way to ease in migration.  The problem is, that
while everyone knew that .Net was coming, Microsoft was saying
something to the effect of VB.Net being able to convert 95% of an
existing VBc application.  It worked, in theory, with mid-sized
projects.  Usually, though, the larger the project, the more under 95%
that number went.

People with older projects that are highly used, which Microsoft
grossly ignored, are less likely to be ported.  People who have written
applications fifteen years ago did not plan on being left out to dry
if/when there was such a large change over such a short period of time.

Just my two cents.  ;-)

Joseph
Author
24 Oct 2005 11:20 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:ursBviL2FHA.3000@TK2MSFTNGP12.phx.gbl...
> That comment is the reason you shouldn't be giving these useless
> sugestions. Practically all of us who are stuck in VB6 are stuck for the
> same reason. Too much VB6 source code and too expensive to port.
>
> If I've got one main application and I am going to still be selling and
> maintaining that app ten years from now, and if there is no budget for a
> re-write, that means I am stuck with VB6 for the forseeable future. It is
> not a case of choice but of  ROI.

So you plan to sell an app for a 30 year period without a rewrite? I'd
expect to do a full rewrite every five to ten years and I have trouble
seeing how there couldn't be the budget for it. Surely after having the same
source for 20 years it's in need of a major overhaul. You could just release
a new version and charge your existing customers for it. In my experience
this has always been hugely successful, the customers have welcomed it and
it has generated a huge amount of revenue. It's like making every sale your
business has ever made all over again in a short period of time.

What I don't understand is how you could have not done a full rewrite in the
last 20 years, did we even have windows in 1985? :-)

Michael
Author
24 Oct 2005 11:21 PM
Karl E. Peterson
Michael C wrote:
> What I don't understand is how you could have not done a full rewrite
> in the last 20 years, did we even have windows in 1985? :-)

A lot of guys who were too young to remember have that same trouble, yeah.

MSBasic has been around since 1976.  Windows, from this perspective, didn't come into
the picture until 1991.  Well-designed business logic migrated without issue, and in
fact *still* loads just fine into VB6.
--
Working Without a .NET?
http://classicvb.org/petition
Author
24 Oct 2005 11:55 PM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:erfqoGP2FHA.620@TK2MSFTNGP10.phx.gbl...
> A lot of guys who were too young to remember have that same trouble, yeah.
>
> MSBasic has been around since 1976.  Windows, from this perspective,
> didn't come into
> the picture until 1991.  Well-designed business logic migrated without
> issue, and in
> fact *still* loads just fine into VB6.

I just can't see an app written in 1976 not needing a mojor rewrite, it must
still use a text file probably loading all the data into memory in one go,
dumping it all back to the text file in the end with no network support. And
that's just one part of the app, I can only guess at the other sins that
must be under the hood.

Michael
Author
25 Oct 2005 12:31 AM
Karl E. Peterson
Michael C wrote:
> "Karl E. Peterson" <k***@mvps.org> wrote in message
> news:erfqoGP2FHA.620@TK2MSFTNGP10.phx.gbl...
>> A lot of guys who were too young to remember have that same trouble,
>> yeah.
>>
>> MSBasic has been around since 1976.  Windows, from this perspective,
>> didn't come into
>> the picture until 1991.  Well-designed business logic migrated
>> without issue, and in
>> fact *still* loads just fine into VB6.
>
> I just can't see an app written in 1976 not needing a mojor rewrite,

Fwiw, I tend to agree.  But that's irrelevent.  The decision *must* remain with the
developer, *NOT* the language vendor.  Saying, "Break my code!", is the coward's way
out of facing their own self-imposed reality.

> it must still use a text file probably loading all the data into
> memory in one go, dumping it all back to the text file in the end
> with no network support.

Well, that's just ignorant supposition.

> And that's just one part of the app, I can
> only guess at the other sins that must be under the hood.

I wouldn't; you're not showing any particular talent in that area. ;-)
--
Working Without a .NET?
http://classicvb.org/petition
Author
25 Oct 2005 12:48 AM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:ugg5utP2FHA.4004@TK2MSFTNGP09.phx.gbl...
> Fwiw, I tend to agree.  But that's irrelevent.  The decision *must* remain
> with the
> developer, *NOT* the language vendor.  Saying, "Break my code!", is the
> coward's way
> out of facing their own self-imposed reality.

The desicions is still there, you can continue to use vb6 :-)

I can see why they made .net incompatible with vb6. Making it compatible
would have hobbled it too much. But they could have made a better effort at
an upgrade utility.

> Well, that's just ignorant supposition.

Quite possibly but I can bet fairly accurate.

Michael
Author
25 Oct 2005 12:59 AM
Karl E. Peterson
Michael C wrote:
> "Karl E. Peterson" <k***@mvps.org> wrote in message
> news:ugg5utP2FHA.4004@TK2MSFTNGP09.phx.gbl...
>> Fwiw, I tend to agree.  But that's irrelevent.  The decision *must*
>> remain with the
>> developer, *NOT* the language vendor.  Saying, "Break my code!", is
>> the coward's way
>> out of facing their own self-imposed reality.
>
> The desicions is still there, you can continue to use vb6 :-)

Not if you want to use the latest tools.  Duh.  How silly do you want to make this?

> I can see why they made .net incompatible with vb6. Making it
> compatible would have hobbled it too much.

That's the kool-aid talking.  You've chosen to believe lies.

> But they could have made a
> better effort at an upgrade utility.

Absolutely.  And it would've been *massively* easier to do so, were there not so many
gratuitous incompatabilities introduced.

>> Well, that's just ignorant supposition.
>
> Quite possibly but I can bet fairly accurate.

Extremely unlikely.  Folks who do have 20 year old code bases have been twiddling
them that whole time.  You seem to be thinking "all or nothing" are the only two
choices.  Ain't so.  Good designs migrate well and relatively painlessly when
languages are thoughtfully upgraded, but not necessarily to different/new langauges.
See the difference?
--
Working Without a .NET?
http://classicvb.org/petition
Author
25 Oct 2005 1:25 AM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:OXFKt9P2FHA.3216@TK2MSFTNGP09.phx.gbl...
> Not if you want to use the latest tools.  Duh.  How silly do you want to
> make this?

That's just the reality of the situation, similar to when dos went to
windows some major changes were required.

>> I can see why they made .net incompatible with vb6. Making it
>> compatible would have hobbled it too much.
>
> That's the kool-aid talking.  You've chosen to believe lies.

No way! After using vb6 and dot net for a while you see why they made the
changes they did.

> Absolutely.  And it would've been *massively* easier to do so, were there
> not so many
> gratuitous incompatabilities introduced.

Yeah, but hobbled the new language with vb6 style crapulence.

> Extremely unlikely.  Folks who do have 20 year old code bases have been
> twiddling
> them that whole time.  You seem to be thinking "all or nothing" are the
> only two
> choices.  Ain't so.  Good designs migrate well and relatively painlessly
> when
> languages are thoughtfully upgraded, but not necessarily to different/new
> langauges.
> See the difference?

I always find that when you get into these sort of conversations everyones
got this perfect apps that been well designed and would have migrated well.
The reality is always different though and after many years of modifications
most of the apps out there would have gotten to the stage of benefitting
from a full rewrite. Even MS with all their billions of dollars got to that
stage with vb6 :-)

Michael
Author
25 Oct 2005 4:28 AM
alpine
On Tue, 25 Oct 2005 11:25:46 +1000, "Michael C"
<mculley@NOSPAMoptushome.com.au> wrote:

Show quoteHide quote
>"Karl E. Peterson" <k***@mvps.org> wrote in message
>news:OXFKt9P2FHA.3216@TK2MSFTNGP09.phx.gbl...
>> Not if you want to use the latest tools.  Duh.  How silly do you want to
>> make this?
>
>That's just the reality of the situation, similar to when dos went to
>windows some major changes were required.
>
>>> I can see why they made .net incompatible with vb6. Making it
>>> compatible would have hobbled it too much.
>>
>> That's the kool-aid talking.  You've chosen to believe lies.
>
>No way! After using vb6 and dot net for a while you see why they made the
>changes they did.
>
>> Absolutely.  And it would've been *massively* easier to do so, were there
>> not so many
>> gratuitous incompatabilities introduced.
>
>Yeah, but hobbled the new language with vb6 style crapulence.
>
>> Extremely unlikely.  Folks who do have 20 year old code bases have been
>> twiddling
>> them that whole time.  You seem to be thinking "all or nothing" are the
>> only two
>> choices.  Ain't so.  Good designs migrate well and relatively painlessly
>> when
>> languages are thoughtfully upgraded, but not necessarily to different/new
>> langauges.
>> See the difference?
>
>I always find that when you get into these sort of conversations everyones
>got this perfect apps that been well designed and would have migrated well.
>The reality is always different though and after many years of modifications
>most of the apps out there would have gotten to the stage of benefitting
>from a full rewrite. Even MS with all their billions of dollars got to that
>stage with vb6 :-)

That's just a cop-out.  You can't tell me that all of the Office apps
aren't in exactly that same state, however, you don't see MS having to
"rewrite" them (meaning "from the ground up", as you suggest is a
*must* every 5 years).  In fact, most of the Office apps still contain
code from the 16bit Windows days!  (Imagine that!)

As Karl says, you've just had too much koolaid so that now you believe
the rest of the crapola they're feeding you.  ;-)

Bryan
_______________________________
Bryan Stafford
New Vision Software
newvision_don'tspam@mvps.org
Author
25 Oct 2005 4:39 AM
Michael C
"alpine" <alpine_don'tsendspam@mvps.org> wrote in message
news:vncrl1pm8atouj2edsnk8i4o3895ot8g9t@4ax.com...
> That's just a cop-out.  You can't tell me that all of the Office apps
> aren't in exactly that same state, however, you don't see MS having to
> "rewrite" them (meaning "from the ground up", as you suggest is a
> *must* every 5 years).

I never said it was a *must* and I never said every 5 years, that's
something you made up. I said every 5 to 10 years it *can* be a good idea to
do a rewrite. 5 years is probably too soon but as you get towards 8 years
you start to get to the point that there's too much fix to make it worth
continuing on the existing code. Of course this will vary from app to app
but as a general guide I've found this to be true. Of course everyones going
to chime in and say how perfect their apps are that have had close to a
decade of reworking from many different staff but in reality it's very
rarely like that. Most of the apps that I've looked at have been much more
heavily weighed down by the sins of the past than mine.

> In fact, most of the Office apps still contain
> code from the 16bit Windows days!  (Imagine that!)

Do you have some proof of that or are you making that up too?

> As Karl says, you've just had too much koolaid so that now you believe
> the rest of the crapola they're feeding you.  ;-)

I think I'm just the only one who'se moved over to be silly enough to be
arguing in this ghost town.

Michael
Author
25 Oct 2005 5:12 AM
alpine
On Tue, 25 Oct 2005 14:39:55 +1000, "Michael C"
<mculley@NOSPAMoptushome.com.au> wrote:

>"alpine" <alpine_don'tsendspam@mvps.org> wrote in message
>news:vncrl1pm8atouj2edsnk8i4o3895ot8g9t@4ax.com...
>> That's just a cop-out.  You can't tell me that all of the Office apps
>> aren't in exactly that same state, however, you don't see MS having to
>> "rewrite" them (meaning "from the ground up", as you suggest is a
>> *must* every 5 years).
>
>I never said it was a *must* and I never said every 5 years, that's
>something you made up. I said every 5 to 10 years it *can* be a good idea to
>do a rewrite.

Here's your exact quote:  "I'd expect to do a full rewrite every five
to ten years"

To me, that sounds a lot more like you consider it a must than the "it
*can* be a good idea to do a rewrite" you are now claiming to have
meant.  It's always better to just come out and say what you mean in
the first place and save all of the misunderstandings.


> 5 years is probably too soon but as you get towards 8 years
>you start to get to the point that there's too much fix to make it worth
>continuing on the existing code. Of course this will vary from app to app
>but as a general guide I've found this to be true. Of course everyones going
>to chime in and say how perfect their apps are that have had close to a
>decade of reworking from many different staff but in reality it's very
>rarely like that. Most of the apps that I've looked at have been much more
>heavily weighed down by the sins of the past than mine.
>
>> In fact, most of the Office apps still contain
>> code from the 16bit Windows days!  (Imagine that!)
>
>Do you have some proof of that or are you making that up too?

It is fairly common knowledge and I've heard/seen it stated publicly
from various MS sources.  I'll troll around and see if I can dig up
any cites.

>> As Karl says, you've just had too much koolaid so that now you believe
>> the rest of the crapola they're feeding you.  ;-)
>
>I think I'm just the only one who'se moved over to be silly enough to be
>arguing in this ghost town.

Clearly, you haven't "moved on", if you're still here.  There may be
hope for you yet!  ;-)

Bryan
_______________________________
Bryan Stafford
New Vision Software
newvision_don'tspam@mvps.org
Author
25 Oct 2005 5:27 AM
Michael C
"alpine" <alpine_don'tsendspam@mvps.org> wrote in message
news:t9frl15e26h59p55t1i2nojkvbrq73ulo2@4ax.com...
> Here's your exact quote:  "I'd expect to do a full rewrite every five
> to ten years"
>
> To me, that sounds a lot more like you consider it a must than the "it
> *can* be a good idea to do a rewrite"

Actually, writing "I'd expect" sound more like can than must to me. By
saying "I'd expect" I'm expressing an element of doubt. You really did twist
what I said by changing it into "must do a re-write every 5 years". Of
course it varies from app to app, in some cases it might make sense to leave
something in dos. The apps that it wouldn't make sense in are those that
aren't moving anywhere anyway.

> It is fairly common knowledge and I've heard/seen it stated publicly
> from various MS sources.  I'll troll around and see if I can dig up
> any cites.

Ok. Make sure it's not something there for compatibility such as DDE etc.

> Clearly, you haven't "moved on", if you're still here.  There may be
> hope for you yet!  ;-)

I'm not coming back, I've just gone from 5 days a week down to 2 to get away
from vb6.



Show quoteHide quote
>
> Bryan
> _______________________________
> Bryan Stafford
> New Vision Software
> newvision_don'tspam@mvps.org
Author
25 Oct 2005 8:13 AM
Gary Nelson
Michael,

>> Here's your exact quote:  "I'd expect to do a full rewrite every five
>> to ten years"
>>
>> To me, that sounds a lot more like you consider it a must than the "it
>> *can* be a good idea to do a rewrite"
>
> Actually, writing "I'd expect" sound more like can than must to me. By
> saying "I'd expect" I'm expressing an element of doubt. You really did
> twist what I said by changing it into "must do a re-write every 5 years".
> Of course it varies from app to app, in some cases it might make sense to
> leave something in dos. The apps that it wouldn't make sense in are those
> that aren't moving anywhere anyway.

Have you actually done that? Do you have 5 to 10 years experience (or more),
and have you already done one or two  rewrites on major projects?

Gary
Author
25 Oct 2005 8:48 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:e7ZEuvT2FHA.2472@TK2MSFTNGP12.phx.gbl...
> Have you actually done that? Do you have 5 to 10 years experience (or
> more), and have you already done one or two  rewrites on major projects?

Yes, I wrote an app from 1995 to 97 and have been rewriting it in dot net
over the last 2 years. I'm very happy with the result and am glad I did it.
Another project I started in 1999 I wanted to rewrite but I didn't get the
go-ahead. This is for 2 different companies, I'm heading away from the one
that didn't want the re-write. :-) I was programming professionally in a lab
a few years before that, I can't remember the date, probably 1992. I started
programming as a hobby 23 years or so ago on a microbee.

Michael
Author
26 Oct 2005 7:13 AM
Gary Nelson
Michael,

> Yes, I wrote an app from 1995 to 97 and have been rewriting it in dot net
> over the last 2 years. I'm very happy with the result and am glad I did
> it. Another project I started in 1999 I wanted to rewrite but I didn't get
> the go-ahead. This is for 2 different companies, I'm heading away from the
> one that didn't want the re-write. :-) I was programming professionally in
> a lab a few years before that, I can't remember the date, probably 1992. I
> started programming as a hobby 23 years or so ago on a microbee.

It's kind of funny. About two weeks ago a client pointed out a bug in the
business logic of a certian calculation in a module I did for our main app
back in 1998. The bug had survived for over seven years without being
noticed. How many bugs like that does a rewrite introduce? Particularly in
very complex applications.

If instead of being an employee, you were an employer you would have a
different attitude.

Gary
Author
26 Oct 2005 11:26 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:e5sv7yf2FHA.3244@tk2msftngp13.phx.gbl...
> It's kind of funny. About two weeks ago a client pointed out a bug in the
> business logic of a certian calculation in a module I did for our main app
> back in 1998. The bug had survived for over seven years without being
> noticed. How many bugs like that does a rewrite introduce? Particularly in
> very complex applications.
>
> If instead of being an employee, you were an employer you would have a
> different attitude.

That's how one my employers thinks. He's going to spend a significant amount
of time doing major modifications to an existing app when I quoted a full
rewrite in dot net as being 25 to 50% longer. He's going to end up with an
inferior product and need to do a rewrite into dot net over the next few
years anyway.

Michael
Author
27 Oct 2005 5:45 AM
Gary Nelson
Michael,

>> If instead of being an employee, you were an employer you would have a
>> different attitude.
>
> That's how one my employers thinks. He's going to spend a significant
> amount of time doing major modifications to an existing app when I quoted
> a full rewrite in dot net as being 25 to 50% longer. He's going to end up
> with an inferior product and need to do a rewrite into dot net over the
> next few years anyway.

Your employer thinks that way because he is an employer. If he breaks the
bank he is out of business. You, as an employee, have a lot more liberty. If
your employer goes bankrupt, it's no big sweat for you, just find another
employer, but for him it's all he's got.

As to your  quote of a full rewrite being 25 to 50% longer, would you be
willing to cover the cost overrun with your wages if it goes over that?

Gary
Author
30 Oct 2005 9:12 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:O6NaWmr2FHA.3108@tk2msftngp13.phx.gbl...
> Your employer thinks that way because he is an employer. If he breaks the
> bank he is out of business. You, as an employee, have a lot more liberty.
> If your employer goes bankrupt, it's no big sweat for you, just find
> another employer, but for him it's all he's got.

Thing is I've done 2 rewrites for he before and both have been very
successful. The money is definately there and the project would definately
be a success.

> As to your  quote of a full rewrite being 25 to 50% longer, would you be
> willing to cover the cost overrun with your wages if it goes over that?

Depends if he was going to give me some of the millions he takes home each
year then I would.

Michael
Author
26 Oct 2005 12:29 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:e7ZEuvT2FHA.2472@TK2MSFTNGP12.phx.gbl...
> Have you actually done that? Do you have 5 to 10 years experience (or
> more), and have you already done one or two  rewrites on major projects?

I forgot to mention I've also done 2 rewrites for dos apps into windows for
one company and both were highly successful. I didn't write the dos apps
though.

Michael
Author
25 Oct 2005 1:30 PM
Ralph
Show quote Hide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:%23nSAPTS2FHA.3108@tk2msftngp13.phx.gbl...
> "alpine" <alpine_don'tsendspam@mvps.org> wrote in message
> news:t9frl15e26h59p55t1i2nojkvbrq73ulo2@4ax.com...
> > Here's your exact quote:  "I'd expect to do a full rewrite every five
> > to ten years"
> >
> > To me, that sounds a lot more like you consider it a must than the "it
> > *can* be a good idea to do a rewrite"
>
> Actually, writing "I'd expect" sound more like can than must to me. By
> saying "I'd expect" I'm expressing an element of doubt. You really did
twist
> what I said by changing it into "must do a re-write every 5 years". Of
> course it varies from app to app, in some cases it might make sense to
leave
> something in dos. The apps that it wouldn't make sense in are those that
> aren't moving anywhere anyway.
>
> > It is fairly common knowledge and I've heard/seen it stated publicly
> > from various MS sources.  I'll troll around and see if I can dig up
> > any cites.
>
> Ok. Make sure it's not something there for compatibility such as DDE etc.
>
> > Clearly, you haven't "moved on", if you're still here.  There may be
> > hope for you yet!  ;-)
>
> I'm not coming back, I've just gone from 5 days a week down to 2 to get
away
> from vb6.
>
>
>
> >
> > Bryan


>
> I'm not coming back, I've just gone from 5 days a week down to 2 to
> get away from vb6.
>

That is a wise decision.
1) General observation - the ones making the best and quickest transition
are the individuals and shops that go and don't look back.
2) The hardest thing in developing is a context-shift. It is often subtle,
but it impacts productivity. I put switching back and forth from VB.Net and
VBc as harder than doing VC++/VBc. I think because if you don't play
attention you tend to make invalid assumptions in dotNet as the language
looks so similar. At least with C++ - one look and you KNEW you weren't in
Kansas anymore. <g>

-ralph
Author
25 Oct 2005 4:50 PM
Karl E. Peterson
Michael C wrote:
>> It is fairly common knowledge and I've heard/seen it stated publicly
>> from various MS sources.  I'll troll around and see if I can dig up
>> any cites.
>
> Ok. Make sure it's not something there for compatibility such as DDE
> etc.

Dude.  How many rows/columns does Excel support?
--
Working Without a .NET?
http://classicvb.org/petition
Author
26 Oct 2005 5:27 AM
alpine
On Tue, 25 Oct 2005 09:50:57 -0700, "Karl E. Peterson" <k***@mvps.org>
wrote:

>Michael C wrote:
>>> It is fairly common knowledge and I've heard/seen it stated publicly
>>> from various MS sources.  I'll troll around and see if I can dig up
>>> any cites.
>>
>> Ok. Make sure it's not something there for compatibility such as DDE
>> etc.
>
>Dude.  How many rows/columns does Excel support?

Or the number of rows allowed for a table in Word.

I did a little bit of searching but didn't come up with the "golden
quote" I was looking for.  Never the less, there is plenty of evidence
that there is still 16bit code in Office.  If it's so necessary, how
come we don't see MS doing your 5 to 10 year rewrite schedule on
*their* bread & butter code base?

Bryan
_______________________________
Bryan Stafford
New Vision Software
newvision_don'tspam@mvps.org
Author
26 Oct 2005 11:36 AM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:%23slcGRY2FHA.2816@tk2msftngp13.phx.gbl...
> Dude.  How many rows/columns does Excel support?

Hardly proof, they might store the row *and* column position of each cell in
a 32 bit int.

Michael
Author
26 Oct 2005 2:30 PM
alpine
On Wed, 26 Oct 2005 21:36:39 +1000, "Michael C" <nospam@nospam.com>
wrote:

>"Karl E. Peterson" <k***@mvps.org> wrote in message
>news:%23slcGRY2FHA.2816@tk2msftngp13.phx.gbl...
>> Dude.  How many rows/columns does Excel support?
>
>Hardly proof, they might store the row *and* column position of each cell in
>a 32 bit int.

Believe what you like.  However, if you truly had the programming
experience that you claim to have, you'd know this for what it is...
sections of the app that haven't been rewritten since the 16bit days.

Bryan
_______________________________
Bryan Stafford
New Vision Software
newvision_don'tspam@mvps.org
Author
26 Oct 2005 2:45 PM
Rick Rothstein [MVP - Visual Basic]
> >> Dude.  How many rows/columns does Excel support?
> >
> >Hardly proof, they might store the row *and* column position of
each cell in
> >a 32 bit int.
>
> Believe what you like.  However, if you truly had the
programming
> experience that you claim to have, you'd know this for what it
is...
> sections of the app that haven't been rewritten since the 16bit
days.

In addition, would Microsoft **really** have originally stored the
row and column in two separate 16-bit integers back in the 16-bit
version of the program and then rewritten **everything** for the
32-bit version just so they could maintain the 16-bit limitations
on the row and column by combining these two items into the same
32-bit integer for storage? I'm thinking... Not!

Rick
Author
27 Oct 2005 4:59 AM
Michael C
"alpine" <alpine_don'tsendspam@mvps.org> wrote in message
news:bg4vl193i1rjq7kva43pbvcps5bkuru28a@4ax.com...
> Believe what you like.  However, if you truly had the programming
> experience that you claim to have, you'd know this for what it is...
> sections of the app that haven't been rewritten since the 16bit days.

The experience I have brought me to that conclusion because I've seen MS
store 2 16 bit numbers in an int! It might have been a space saving exercise
and is definately not *proof* they have 16 bit code left.

Michael
Author
25 Oct 2005 8:08 AM
Gary Nelson
Michael,

> No way! After using vb6 and dot net for a while you see why they made the
> changes they did.

Some yes, but certainly not all of them.


>> Absolutely.  And it would've been *massively* easier to do so, were there
>> not so many
>> gratuitous incompatabilities introduced.
>
> Yeah, but hobbled the new language with vb6 style crapulence.

Beauty is in the eye of the beholder.

Show quoteHide quote
>
>> Extremely unlikely.  Folks who do have 20 year old code bases have been
>> twiddling
>> them that whole time.  You seem to be thinking "all or nothing" are the
>> only two
>> choices.  Ain't so.  Good designs migrate well and relatively painlessly
>> when
>> languages are thoughtfully upgraded, but not necessarily to different/new
>> langauges.
>> See the difference?
>
> I always find that when you get into these sort of conversations everyones
> got this perfect apps that been well designed and would have migrated
> well. The reality is always different though and after many years of
> modifications most of the apps out there would have gotten to the stage of
> benefitting from a full rewrite. Even MS with all their billions of
> dollars got to that stage with vb6 :-)

Because MS has billions they can do it. They can even afford to alienate a
large portion of their customer base. I don't have the billions, and I care
about my customers.

Gary
Author
25 Oct 2005 11:56 AM
J French
On Tue, 25 Oct 2005 11:25:46 +1000, "Michael C"
<mculley@NOSPAMoptushome.com.au> wrote:

<snip>

>The reality is always different though and after many years of modifications
>most of the apps out there would have gotten to the stage of benefitting
>from a full rewrite. Even MS with all their billions of dollars got to that
>stage with vb6 :-)
> Even MS with all their billions of dollars got to that
>stage with vb6 :-)

B*ll*cks - VB6 is just a slightly enhanced version of VB5

Also, re-writes are not necessary if one uses 'gentle migration'
techniques

I've been coding since 1977 and have only ever done one major
re-write, and that was porting a fairly complex DOS EXE (not system)
to Windows - and even then that was 90% cut and paste.

Sure, sometimes one looks at a minor EXE and decides that re-writing
it is simpler than piddling around inside old code
- but that is not re-write
Author
25 Oct 2005 2:24 PM
Michael C
"J French" <erew***@nowhere.uk> wrote in message
news:435e18a0.100437607@news.btopenworld.com...
> B*ll*cks - VB6 is just a slightly enhanced version of VB5

I meant vb6 needed a rewrite so they did dotnet.

> I've been coding since 1977 and have only ever done one major
> re-write, and that was porting a fairly complex DOS EXE (not system)
> to Windows - and even then that was 90% cut and paste.

You can do the cut-n-paste into dot net, i've done a couple of dlls that
were just a line by line translation. It doesn't take that long and that was
from vb6 to C#.

Michael
Author
26 Oct 2005 10:05 AM
J French
On Wed, 26 Oct 2005 00:24:48 +1000, "Michael C" <nospam@nospam.com>
wrote:

>"J French" <erew***@nowhere.uk> wrote in message
>news:435e18a0.100437607@news.btopenworld.com...
>> B*ll*cks - VB6 is just a slightly enhanced version of VB5
>
>I meant vb6 needed a rewrite so they did dotnet.

I think you'll find it was more likely that Anders Hejlsberg had some
pretty fixed objectives

>> I've been coding since 1977 and have only ever done one major
>> re-write, and that was porting a fairly complex DOS EXE (not system)
>> to Windows - and even then that was 90% cut and paste.

>You can do the cut-n-paste into dot net, i've done a couple of dlls that
>were just a line by line translation. It doesn't take that long and that was
>from vb6 to C#.

I've done cut and paste from MSDOS Basic to Delphi
- pretty painless

I don't particularly object to Dot Net, it is probably quite a sound
concept for large corporate systems, especially servers.

However I really object to them abusing the name 'Basic' and
pretending that it is an 'upgrade'

Also I resent the fact that they are shunning the smaller 'fast on
their feet' developers, who actually made MS's fortune in the first
place.  Without us people would not have bought computers, and MS only
got into writing non-joke like applications pretty late in the game.
Author
25 Oct 2005 4:46 PM
Karl E. Peterson
Michael C wrote:
> "Karl E. Peterson" <k***@mvps.org> wrote ...
>> Not if you want to use the latest tools.  Duh.  How silly do you
>> want to make this?
>
> That's just the reality of the situation, similar to when dos went to
> windows some major changes were required.

There you go again.  Fwiw, I pulled the code to directly read/write DBF files from
<gasp> an old QB4 module, into VB6, just a few months ago.  No need to rewrite
whatsoever.  I just dusted off a few variable names, to be more descriptive, and away
I went.

If *you* required "major changes" in moving non-UI code from DOS to Windows, that's
*your* problem.  Many folks actually understood programming concepts back then,
however, and managed just fine in that relatively painless transition.
--
Working Without a .NET?
http://classicvb.org/petition
Author
25 Oct 2005 4:55 PM
Bob Butler
Show quote Hide quote
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:%23UyUmOY2FHA.472@TK2MSFTNGP15.phx.gbl
> Michael C wrote:
>> "Karl E. Peterson" <k***@mvps.org> wrote ...
>>> Not if you want to use the latest tools.  Duh.  How silly do you
>>> want to make this?
>>
>> That's just the reality of the situation, similar to when dos went to
>> windows some major changes were required.
>
> There you go again.  Fwiw, I pulled the code to directly read/write
> DBF files from <gasp> an old QB4 module, into VB6, just a few months
> ago.  No need to rewrite whatsoever.  I just dusted off a few
> variable names, to be more descriptive, and away I went.
>
> If *you* required "major changes" in moving non-UI code from DOS to
> Windows, that's *your* problem.  Many folks actually understood
> programming concepts back then, however, and managed just fine in
> that relatively painless transition.

He's already stated that he codes so as to require a full rewrite every five
to ten years.  The ones to feel sorry for are his employers and/or
customers.  They are obviously paying for a lot of wasted time.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
25 Oct 2005 7:18 PM
Karl E. Peterson
Bob Butler wrote:
>> If *you* required "major changes" in moving non-UI code from DOS to
>> Windows, that's *your* problem.  Many folks actually understood
>> programming concepts back then, however, and managed just fine in
>> that relatively painless transition.
>
> He's already stated that he codes so as to require a full rewrite
> every five to ten years.  The ones to feel sorry for are his
> employers and/or customers.  They are obviously paying for a lot of
> wasted time.

Yeah, I haven't met a .NET devotee yet who's what I term an "application owner."
--
Working Without a .NET?
http://classicvb.org/petition
Author
25 Oct 2005 8:11 PM
Bob Butler
Show quote Hide quote
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:OYXy0jZ2FHA.1100@TK2MSFTNGP15.phx.gbl
> Bob Butler wrote:
>>> If *you* required "major changes" in moving non-UI code from DOS to
>>> Windows, that's *your* problem.  Many folks actually understood
>>> programming concepts back then, however, and managed just fine in
>>> that relatively painless transition.
>>
>> He's already stated that he codes so as to require a full rewrite
>> every five to ten years.  The ones to feel sorry for are his
>> employers and/or customers.  They are obviously paying for a lot of
>> wasted time.
>
> Yeah, I haven't met a .NET devotee yet who's what I term an
> "application owner."

Nope.  Seems to be a boon for consulting-types who get to recommend rewrites
frequently and pump up the billable hours by recreating that which already
exists using the latest gee-whiz fluff rather than long-term maintenance and
extension of apps.  It's such a pity because both could have been supported
if MS had given a damn about it.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
26 Oct 2005 12:52 AM
Michael C
Show quote Hide quote
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:%23UyUmOY2FHA.472@TK2MSFTNGP15.phx.gbl...
> There you go again.  Fwiw, I pulled the code to directly read/write DBF
> files from
> <gasp> an old QB4 module, into VB6, just a few months ago.  No need to
> rewrite
> whatsoever.  I just dusted off a few variable names, to be more
> descriptive, and away
> I went.
>
> If *you* required "major changes" in moving non-UI code from DOS to
> Windows, that's
> *your* problem.  Many folks actually understood programming concepts back
> then,
> however, and managed just fine in that relatively painless transition.

Yeah yeah, as I said in these sort of conversations in newsgroup land apps
always become magically perfect and easy to port, everyone wrote everything
all componentized and didn't do any hacks. I've always been fairly negative
when looking at my own code a few years later but after looking at other
peoples I've realised mine is actually not bad. It just gets to the point
where the features that want to be added add up to more time than a rewrite.

Imagine if MS tried to slowly port vb6 over to dot net over the years, dot
net would have been severly hobbled. But I don't know why I'm here arguing,
I'm in the company of those who are holding onto vb6 to the grim end, only
those who are dead against rewrites are left here :-)

Michael
Author
25 Oct 2005 12:38 AM
Bob Butler
Show quote Hide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:utx4%23VP2FHA.3592@TK2MSFTNGP12.phx.gbl
> "Karl E. Peterson" <k***@mvps.org> wrote in message
> news:erfqoGP2FHA.620@TK2MSFTNGP10.phx.gbl...
>> A lot of guys who were too young to remember have that same trouble,
>> yeah.
>>
>> MSBasic has been around since 1976.  Windows, from this perspective,
>> didn't come into
>> the picture until 1991.  Well-designed business logic migrated
>> without issue, and in
>> fact *still* loads just fine into VB6.
>
> I just can't see an app written in 1976 not needing a mojor rewrite,
> it must still use a text file probably loading all the data into
> memory in one go, dumping it all back to the text file in the end
> with no network support. And that's just one part of the app, I can
> only guess at the other sins that must be under the hood.

Previously, applications evolved over time; sections could be rewritten to
take advantage of newer possibilities while still being integrated into the
whole.  The "same" app at the end of 20 years might have relatively little
original code but at no point would it have been rewritten.  It would have
been great to be able to bring a VB6 app into dotnet and then begin
replacing pieces over time as need dictated and resources permitted.

Instead, the choice now is to halt the evolutionary process while the entire
body of code is redesigned and rewritten or hack it by trying to wedge
dotnet components into the mix and having a Frankenstein's monster instead
of a coherent design.

MS blew it big time by not providing a real VB language within the dotnet
framework.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
25 Oct 2005 12:44 AM
Ralph
Show quote Hide quote
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:utx4%23VP2FHA.3592@TK2MSFTNGP12.phx.gbl...
> "Karl E. Peterson" <k***@mvps.org> wrote in message
> news:erfqoGP2FHA.620@TK2MSFTNGP10.phx.gbl...
> > A lot of guys who were too young to remember have that same trouble,
yeah.
> >
> > MSBasic has been around since 1976.  Windows, from this perspective,
> > didn't come into
> > the picture until 1991.  Well-designed business logic migrated without
> > issue, and in
> > fact *still* loads just fine into VB6.
>
> I just can't see an app written in 1976 not needing a mojor rewrite, it
must
> still use a text file probably loading all the data into memory in one go,
> dumping it all back to the text file in the end with no network support.
And
> that's just one part of the app, I can only guess at the other sins that
> must be under the hood.
>
> Michael
>

Aren't you being deliberately obtuse, just a tad. <g>

I have an application that doesn't date back that far. Only from around '93.
But looking back still looks like the Stone Age. (It once had controls
written with the CDK.) It is a package whose essential business rules have
not changed in all that time. Does it still have the same code? Certainly
not. It has changed dramatically through the years, sometimes weekly. But I
would never consider it as having gone through a major "re-write".

There is a big difference between going in and modify (repair, improve, etc)
pieces of working code to meet changing needs and completely re-writing the
program to satisfy a whim.

I am currently porting it to dotNet (and that is a re-write), but more as a
learning tool that anything else. If the 're-write' had to pay for itself
(ie, if my wife knew about it. <g>) it wouldn't happen.

-ralph
Author
25 Oct 2005 1:31 AM
Michael C
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:fLWdnaSTSedC4sDeRVn-jA@arkansas.net...
> Aren't you being deliberately obtuse, just a tad. <g>

Less so than most of those fighting to hold onto vb6 :-)

> I have an application that doesn't date back that far. Only from around
> '93.
> But looking back still looks like the Stone Age. (It once had controls
> written with the CDK.) It is a package whose essential business rules have
> not changed in all that time. Does it still have the same code? Certainly
> not. It has changed dramatically through the years, sometimes weekly. But
> I
> would never consider it as having gone through a major "re-write".

I see it as part of the life of an app, you modify it for X years and then
do a rewrite, adding a bunch of features that would be difficult or
impossible to add by modifying it. If you're app is not up to that stage yet
then stick with vb6 until it is.

> There is a big difference between going in and modify (repair, improve,
> etc)
> pieces of working code to meet changing needs and completely re-writing
> the
> program to satisfy a whim.
>
> I am currently porting it to dotNet (and that is a re-write), but more as
> a
> learning tool that anything else. If the 're-write' had to pay for itself
> (ie, if my wife knew about it. <g>) it wouldn't happen.

Michael




Show quoteHide quote
>
> -ralph
>
>
Author
25 Oct 2005 7:48 AM
Gary Nelson
Michael,

> I just can't see an app written in 1976 not needing a mojor rewrite

By the way, I didn't say 1976. I said twenty years ago, which would be 1985.

> it must still use a text file probably loading all the data into memory in
> one go, dumping it all back to the text file in the end with no network
> support. And that's just one part of the app,
You certainly come to some very strange conclusions. Exactly how do you load
all the data into memory when all you have is 128K RAM? You know, when you
don't know what you're talking about it is best not to speak up.

> I can only guess at the other sins that must be under the hood.

Sins?
Author
25 Oct 2005 2:29 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:ezuguhT2FHA.2312@tk2msftngp13.phx.gbl...
> By the way, I didn't say 1976. I said twenty years ago, which would be
> 1985.

Karl said 1976, I was responding to him.

> Sins?

Dodgy code that's had dodgy fixes done to it to fix it's original dodgyness.
Or possibly good code that's had dodgy fixes. Or possibly dodgy code that
hasn't been fixed. The sins might have been comitted by a third party and
can't be fixed.

Michael
Author
25 Oct 2005 7:34 AM
Gary Nelson
Michael,

> So you plan to sell an app for a 30 year period without a rewrite?

Why not? Haven't you heard that saying: 'if it aint broken don't fix it'?

> I'd expect to do a full rewrite every five to ten years and I have trouble
> seeing how there couldn't be the budget for it.

http://www.joelonsoftware.com/articles/fog0000000069.html


> Surely after having the same  source for 20 years it's in need of a major
> overhaul.

When you have a very large program you overhaul one thing at a time, not the
whole project. Rewriting the whole project is the best way to go bankrupt
that I can think of.

> You could just release a new version and charge your existing customers
> for it. In my experience this has always been hugely successful, the
> customers have welcomed it and it has generated a huge amount of revenue.

Excuse me but that sounds extremely naive. Most of my customers don't know
the difference between a .net and a baseball bat. Customers would welcome a
rewrite, only if it meant new funcionality that made their user experience
better. How on earth can you do a full rewrite AND add new funcionality at
the same time?

> It's like making every sale your business has ever made all over again in
> a short period of time.

You aren't Dilbert's boss, are you?

> What I don't understand is how you could have not done a full rewrite in
> the last 20 years, did we even have windows in 1985? :-)

The original program was written in gw-basic for MSDOS, although we also
ported it to CPM/86. From there to the original BASIC Compiler, to
QuickBasic 2.0, 3.0, 4.0, 4.5 to PDS 6.0 to PDS 7.0, 7.1, to VB1, VB2, VB3,
VB4, VB6.

The closest thing to a rewrite was the port to VB1 as the user interface had
to be rewriten. But the business logic largely remained the same. In fact I
could show you sections of our source code that have remained largely intact
across the different versions.

Gary
Author
25 Oct 2005 2:59 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23KOQRaT2FHA.620@TK2MSFTNGP10.phx.gbl...
> Why not? Haven't you heard that saying: 'if it aint broken don't fix it'?

I'm sure I could find things that are broken :-) I know all software
suddenly becomes perfect in these sort of discussions and there's absolutely
no sins from the past sitting in there :-)

"Is software supposed to be like an old Dodge Dart, that rusts just sitting
in the garage?"

He makes some good points although I think software does "rust". It does get
old and crappy just by sitting there and you get to the point where it will
be easier and quicker to do a re-write than fix all the problems in it.

> When you have a very large program you overhaul one thing at a time, not
> the whole project. Rewriting the whole project is the best way to go
> bankrupt that I can think of.

If poorly managed, sure but a company should be able to manage this after 10
years in business.

> Excuse me but that sounds extremely naive. Most of my customers don't know
> the difference between a .net and a baseball bat.

Depends on your app and your customers. Customers of one of the companies I
work for have been screaming for the sqlserver version. As for C# they
probably couldn't give a stuff but when it comes with new features they do.

> Customers would welcome a rewrite, only if it meant new funcionality that
> made their user experience better. How on earth can you do a full rewrite
> AND add new funcionality at the same time?

That's the whole point, it's *so* much easier adding new features during a
rewrite. You can take all of those features that have not been done because
it would have been a significant amount of work and take them into account
from the start. For example, converting an app from using an msaccess
database to using sqlserver might be a lot of work as an update but in a
full rewrite it is a simple decision and takes *zero* extra time. Find a few
big features like this and the customers will be itching for the new
version.

> The original program was written in gw-basic for MSDOS, although we also
> ported it to CPM/86. From there to the original BASIC Compiler, to
> QuickBasic 2.0, 3.0, 4.0, 4.5 to PDS 6.0 to PDS 7.0, 7.1, to VB1, VB2,
> VB3, VB4, VB6.
>
> The closest thing to a rewrite was the port to VB1 as the user interface
> had to be rewriten. But the business logic largely remained the same. In
> fact I could show you sections of our source code that have remained
> largely intact across the different versions.

Sounds like a rewrite to me. I could show you sections of a completely
rewritten app that looked intact across a rewrite :-)

Michael
Author
25 Oct 2005 3:26 PM
Ken Halter
Show quote Hide quote
"Michael C" <nospam@nospam.com> wrote in message
news:uEvZCTX2FHA.3228@TK2MSFTNGP15.phx.gbl...
> "Gary Nelson" <gn@nospam.com> wrote in message
> news:%23KOQRaT2FHA.620@TK2MSFTNGP10.phx.gbl...
>> Why not? Haven't you heard that saying: 'if it aint broken don't fix it'?
>
> I'm sure I could find things that are broken :-) I know all software
> suddenly becomes perfect in these sort of discussions and there's
> absolutely no sins from the past sitting in there :-)
>
>> http://www.joelonsoftware.com/articles/fog0000000069.html
>
> "Is software supposed to be like an old Dodge Dart, that rusts just
> sitting in the garage?"
>

Right before that sentence.....

"The idea that new code is better than old is patently absurd. Old code has
been used. It has been tested. Lots of bugs have been found, and they've
been fixed. There's nothing wrong with it. It doesn't acquire bugs just by
sitting around on your hard drive."


--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
25 Oct 2005 4:31 PM
Jan Hyde
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com>'s wild
thoughts were released on Tue, 25 Oct 2005 08:26:54 -0700
bearing the following fruit:

Show quoteHide quote
>"Michael C" <nospam@nospam.com> wrote in message
>news:uEvZCTX2FHA.3228@TK2MSFTNGP15.phx.gbl...
>> "Gary Nelson" <gn@nospam.com> wrote in message
>> news:%23KOQRaT2FHA.620@TK2MSFTNGP10.phx.gbl...
>>> Why not? Haven't you heard that saying: 'if it aint broken don't fix it'?
>>
>> I'm sure I could find things that are broken :-) I know all software
>> suddenly becomes perfect in these sort of discussions and there's
>> absolutely no sins from the past sitting in there :-)
>>
>>> http://www.joelonsoftware.com/articles/fog0000000069.html
>>
>> "Is software supposed to be like an old Dodge Dart, that rusts just
>> sitting in the garage?"
>>
>
>Right before that sentence.....
>
>"The idea that new code is better than old is patently absurd. Old code has
>been used. It has been tested. Lots of bugs have been found, and they've
>been fixed. There's nothing wrong with it. It doesn't acquire bugs just by
>sitting around on your hard drive."

Shh! I've been telling my boss that that is exactly how bugs
get into the software....



Jan Hyde (VB MVP)

--
Band Uniform: Toot suit (Stan Kegel)

[Abolish the TV Licence - http://www.tvlicensing.biz/]
Author
25 Oct 2005 5:21 PM
Joseph Ferris
Ken Halter wrote:

> Right before that sentence.....
>
> "The idea that new code is better than old is patently absurd. Old code has
> been used. It has been tested. Lots of bugs have been found, and they've
> been fixed. There's nothing wrong with it. It doesn't acquire bugs just by
> sitting around on your hard drive."

And this makes perfect sense.  I was subcontracted to Honeywell a few
years ago and they had a very large legacy codebase with no intention
to re-write it for the sake of taking "advantage" of a newer language
or platform.

They actually had scoped out moving (at the time) to a Visual C++
version of their software on Windows 2000 from C++/COBOL on an AS/400.
Not only was the return on investment too low, the total cost of
ownership was higher and the one application that they did port over in
a feasibility study for migration performed a lot worse than the code
that was written in 1989.  Considering it was a complicated engineering
application that already took a sizable amount of time to render its
output, the choice was easy for them to make.

I use .Net at work now, although I still use VBc at home.  Classic
still has the R in RAD.  ;-)  I just wish that people would quit trying
to tell everyone that they need to move to .Net.  It is not the truth,
in any way, shape, or form.  Things are not always just in black and
white, as people like Ken and Karl have pointed out multiple times.

Joseph
Author
26 Oct 2005 10:16 AM
J French
On Tue, 25 Oct 2005 08:26:54 -0700, "Ken Halter"
<Ken_Halter@Use_Sparingly_Hotmail.com> wrote:

<snip>

>"The idea that new code is better than old is patently absurd. Old code has
>been used. It has been tested. Lots of bugs have been found, and they've
>been fixed. There's nothing wrong with it. It doesn't acquire bugs just by
>sitting around on your hard drive."

True, but with one caveat, most of the 'bugs' I've have of late have
been down to subtle differences between Win 9x and 2k/XP  the nastiest
was an error in XP's MSDOS emulation which broke a 15 year old
routine.   Int 21h, 17h  FCB rename file - the canonical way to rename
a volume label.
Author
26 Oct 2005 8:12 AM
Gary Nelson
Michael,

> He makes some good points although I think software does "rust". It does
> get old and crappy just by sitting there and you get to the point where it
> will be easier and quicker to do a re-write than fix all the problems in
> it.

?

>
>> When you have a very large program you overhaul one thing at a time, not
>> the whole project. Rewriting the whole project is the best way to go
>> bankrupt that I can think of.
>
> If poorly managed, sure but a company should be able to manage this after
> 10 years in business.

Again, you say this because you are an employee and not an employer.

Show quoteHide quote
>
>> Excuse me but that sounds extremely naive. Most of my customers don't
>> know the difference between a .net and a baseball bat.
>
> Depends on your app and your customers. Customers of one of the companies
> I work for have been screaming for the sqlserver version. As for C# they
> probably couldn't give a stuff but when it comes with new features they
> do.
>
>> Customers would welcome a rewrite, only if it meant new funcionality that
>> made their user experience better. How on earth can you do a full rewrite
>> AND add new funcionality at the same time?
>
> That's the whole point, it's *so* much easier adding new features during a
> rewrite. You can take all of those features that have not been done
> because it would have been a significant amount of work and take them into
> account from the start. For example, converting an app from using an
> msaccess database to using sqlserver might be a lot of work as an update
> but in a full rewrite it is a simple decision and takes *zero* extra time.
> Find a few big features like this and the customers will be itching for
> the new version.

You must work on very simple projects...


>
>> The original program was written in gw-basic for MSDOS, although we also
>> ported it to CPM/86. From there to the original BASIC Compiler, to
>> QuickBasic 2.0, 3.0, 4.0, 4.5 to PDS 6.0 to PDS 7.0, 7.1, to VB1, VB2,
>> VB3, VB4, VB6.
>>
>> The closest thing to a rewrite was the port to VB1 as the user interface
>> had to be rewriten. But the business logic largely remained the same. In
>> fact I could show you sections of our source code that have remained
>> largely intact across the different versions.
>
> Sounds like a rewrite to me. I could show you sections of a completely
> rewritten app that looked intact across a rewrite :-)

Cutting and pasting is not rewriting...

Gary
Author
26 Oct 2005 11:29 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23unV1Tg2FHA.3876@TK2MSFTNGP09.phx.gbl...
> Again, you say this because you are an employee and not an employer.

I run my own business 3 days a week and work as an employee for someone
else. I don't hire anyone although I've had a contractor do some work.

> You must work on very simple projects...

Hardly. The last project was a 300 form monstrosity with a web and pda
component.

> Cutting and pasting is not rewriting...

The point is I could show you sections of a full rewrite that are basically
the same code.

Michael
Author
27 Oct 2005 5:49 AM
Gary Nelson
Michael,

> The point is I could show you sections of a full rewrite that are
> basically the same code.

If it is basically the same code, why in the world would you rewrite it?

Gary
Author
27 Oct 2005 12:02 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23o8t8or2FHA.892@TK2MSFTNGP12.phx.gbl...
> If it is basically the same code, why in the world would you rewrite it?

Some of it is the same code, a full rewrite you might not completely rewrite
100% of the code.

Michael
Author
26 Oct 2005 12:35 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23KOQRaT2FHA.620@TK2MSFTNGP10.phx.gbl...
>> It's like making every sale your business has ever made all over again in
>> a short period of time.
>
> You aren't Dilbert's boss, are you?

Not at all. I remember sitting down with my boss once and he asked me what I
wanted to do, rewrite a dos app into windows or start a brand new project. I
said to him are you crazy we've got an instant 500 customers for the
existing app. We rewrote it and got 400 sales in a few months, basically
making pretty much every sale the app had ever made again in a short space
of time (it took a year or 2 for the stragglers). He was most happy.

Michael
Author
26 Oct 2005 12:54 AM
Karl E. Peterson
"Michael C" ...
> >> It's like making every sale your business has ever made all over again in
> >> a short period of time.
> >
> > You aren't Dilbert's boss, are you?
>
> Not at all. I remember sitting down with my boss once and he asked me what I
> wanted to do, rewrite a dos app into windows or start a brand new project. I
> said to him are you crazy we've got an instant 500 customers for the
> existing app. We rewrote it and got 400 sales in a few months, basically
> making pretty much every sale the app had ever made again in a short space
> of time (it took a year or 2 for the stragglers). He was most happy.

Lovely story.  I remember the days well.

Windows *was* a very compelling platform to end users!

What's the selling point for the .NET "platform" shift?

GimmeAbreak...
--
Working Without a .NET?
http://classicvb.org/petition
Author
26 Oct 2005 1:23 AM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:eYxmVfc2FHA.632@TK2MSFTNGP10.phx.gbl...
> Lovely story.  I remember the days well.
>
> Windows *was* a very compelling platform to end users!
>
> What's the selling point for the .NET "platform" shift?
>
> GimmeAbreak...

In my specific case I've got lots of features that are selling points for
the new rewrite. There's so much more that dot net can do that vb6 can't
it's easy to add new features.

Michael
Author
26 Oct 2005 1:34 AM
Karl E. Peterson
Show quote Hide quote
"Michael C" <nospam@nospam.com> wrote in message
news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl...
> "Karl E. Peterson" <k***@mvps.org> wrote in message
> news:eYxmVfc2FHA.632@TK2MSFTNGP10.phx.gbl...
> > Lovely story.  I remember the days well.
> >
> > Windows *was* a very compelling platform to end users!
> >
> > What's the selling point for the .NET "platform" shift?
> >
> > GimmeAbreak...
>
> In my specific case I've got lots of features that are selling points for
> the new rewrite. There's so much more that dot net can do that vb6 can't
> it's easy to add new features.

Whereas, with DOS->Windows, customers would accept "upgrades" that didn't even do as
much, just to get into the new interface.  You lose.
--
Working Without a .NET?
http://classicvb.org/petition
Author
26 Oct 2005 3:21 AM
Michael C
"Karl E. Peterson" <k***@mvps.org> wrote in message
news:eewif1c2FHA.636@TK2MSFTNGP10.phx.gbl...
> Whereas, with DOS->Windows, customers would accept "upgrades" that didn't
> even do as
> much, just to get into the new interface.

That's true, you have to do more work now to get customers to pay again for
a new version.

> You lose.

I wouldn't say that.

Michael
Author
26 Oct 2005 8:28 AM
Gary Nelson
Michael,

>> Whereas, with DOS->Windows, customers would accept "upgrades" that didn't
>> even do as
>> much, just to get into the new interface.
>
> That's true, you have to do more work now to get customers to pay again
> for a new version.

Which takes us back to base one. If you have a very small code base, you can
rewrite it AND "do more work". If you have a large code base there is no way
you can even get out a first version with equivalent funcionality, much less
"do more work" and add on new funcionality.

Gary
Author
26 Oct 2005 11:26 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23AIL%23cg2FHA.3188@TK2MSFTNGP12.phx.gbl...
> Which takes us back to base one. If you have a very small code base, you
> can rewrite it AND "do more work". If you have a large code base there is
> no way you can even get out a first version with equivalent funcionality,
> much less "do more work" and add on new funcionality.

Yes you can. It's so much easier to add those difficult to add features in a
full rewrite.

Michael
Author
27 Oct 2005 5:54 AM
Gary Nelson
Michael,

>> Which takes us back to base one. If you have a very small code base, you
>> can rewrite it AND "do more work". If you have a large code base there is
>> no way you can even get out a first version with equivalent funcionality,
>> much less "do more work" and add on new funcionality.
>
> Yes you can. It's so much easier to add those difficult to add features in
> a full rewrite.

Imagine a full rewrite takes 18 months (just to get equal funcionality to
your old app). Are you going to hold back releasing your product for another
six months to get the new funcionality?

In the meantime your company will have gone bankrupt, so you can forget
about the new funcionality.

Gary
Author
27 Oct 2005 12:10 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:ukKetrr2FHA.3788@tk2msftngp13.phx.gbl...
> Imagine a full rewrite takes 18 months (just to get equal funcionality to
> your old app). Are you going to hold back releasing your product for
> another six months to get the new funcionality?

You've got the wrong idea of how to do a rewrite. The main idea is to take
all of the features that are too difficult to add and take them into account
from day 1. The app I've been working on mostly in the last few years needs
some changes to the basic data structure. Changing this would be very
difficult because it would effect most areas of the app. But with a rewrite
it's very easy. Just by doing this I get new features.

> In the meantime your company will have gone bankrupt, so you can forget
> about the new funcionality.

It's that simple is it? :-) With minor updates I don't see why the income
stream would change that much. You might lose a few customers and sales but
not many. Companies have had apps remain basically unchanged for much longer
than 2 years and haven't gone bankrupt.

Michael
Author
27 Oct 2005 4:44 PM
Gary Nelson
Michael,

>> Imagine a full rewrite takes 18 months (just to get equal funcionality to
>> your old app). Are you going to hold back releasing your product for
>> another six months to get the new funcionality?
>
> You've got the wrong idea of how to do a rewrite. The main idea is to take
> all of the features that are too difficult to add and take them into
> account from day 1. The app I've been working on mostly in the last few
> years needs some changes to the basic data structure. Changing this would
> be very difficult because it would effect most areas of the app. But with
> a rewrite it's very easy. Just by doing this I get new features.

It sounds like you had a poor design to begin with. On the other hand,
perhaps the structure of your apps is nothing like mine. Mine have
innumerable modules each with very complex business logic. Each module was
developed in close connection with the clients who use it so as to get it
right. In most cases I don't remember exactly what they do, which means that
to do a rewrite I either have to study the code, line by line, and rewrite
it, and hope I get it right, or get back into contact with my clients to
have them go through the process again.  Either way it is a long drawn out
process. Especially when the module works fine and no one is asking for it
to do anything new.

Gary
Author
28 Oct 2005 12:19 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:u2dXoWx2FHA.2600@tk2msftngp13.phx.gbl...
> It sounds like you had a poor design to begin with. On the other hand,
> perhaps the structure of your apps is nothing like mine. Mine have
> innumerable modules each with very complex business logic. Each module was
> developed in close connection with the clients who use it so as to get it
> right. In most cases I don't remember exactly what they do, which means
> that to do a rewrite I either have to study the code, line by line, and
> rewrite it, and hope I get it right, or get back into contact with my
> clients to have them go through the process again.  Either way it is a
> long drawn out process. Especially when the module works fine and no one
> is asking for it to do anything new.

You've got code for 1 customer? I would rewrite that. :-)

Michael
Author
28 Oct 2005 5:00 AM
Gary Nelson
Michael,

>> It sounds like you had a poor design to begin with. On the other hand,
>> perhaps the structure of your apps is nothing like mine. Mine have
>> innumerable modules each with very complex business logic. Each module
>> was developed in close connection with the clients who use it so as to
>> get it right. In most cases I don't remember exactly what they do, which
>> means that to do a rewrite I either have to study the code, line by line,
>> and rewrite it, and hope I get it right, or get back into contact with my
>> clients to have them go through the process again.  Either way it is a
>> long drawn out process. Especially when the module works fine and no one
>> is asking for it to do anything new.
>
> You've got code for 1 customer? I would rewrite that. :-)

Perhaps I didn't explain myself well. I have to find one of my customers who
is an expert in that particular subject, and ask his asistance to make sure
it does what it is supposed to. Many customers then use that code, but most
are not experts in the subject and don't know exactly what goes into it.

Gary
Author
26 Oct 2005 10:51 AM
J French
On Tue, 25 Oct 2005 18:34:12 -0700, "Karl E. Peterson" <k***@mvps.org>
wrote:

<snip>

>> In my specific case I've got lots of features that are selling points for
>> the new rewrite. There's so much more that dot net can do that vb6 can't
>> it's easy to add new features.

>Whereas, with DOS->Windows, customers would accept "upgrades" that didn't even do as
>much, just to get into the new interface.  You lose.

Actually I've got quite a few cases where the customers prefer the DOS
App
- if something does exactly what they want a sensible punter will not
go in for 'change for changes sake'.

In one case I had to force a customer into a DOS -> Windows re-write
because the App had grown so much that I was having major problems
with memory (it was a touch screen graphical App started in 1990) and
the code was getting so tight that only I could maintain it.

With the benefit of hindsight I should have scouted round for a 32 bit
console mode compiler and used WDOSX, then made friends with the
people who write the CE DOS emulator - Win CE machines are a lot
cheaper, faster and more robust in terms of OS and hardware than their
Win9x/XP equivalents.

The customer is very happy with the software (it looks just the same
but with colours rather than monochrome), but the hardware is an
expensive nightmare ( I explicitly recommended NOT using the
hardware).
Author
26 Oct 2005 1:50 AM
Bob Butler
"Michael C" <nospam@nospam.com> wrote in message
news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl
> There's so much more that dot net can do that
> vb6 can't it's easy to add new features.

ROTFLMAO

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
26 Oct 2005 3:22 AM
Michael C
"Bob Butler" <tiredofit@nospam.com> wrote in message
news:e8t%23a%23c2FHA.1268@TK2MSFTNGP10.phx.gbl...
> "Michael C" <nospam@nospam.com> wrote in message
> news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl
>> There's so much more that dot net can do that
>> vb6 can't it's easy to add new features.
>
> ROTFLMAO

Ignorance is bliss hey? :-)

Michael
Author
26 Oct 2005 3:36 AM
Rick Rothstein [MVP - Visual Basic]
> >> There's so much more that dot net can do that
> >> vb6 can't it's easy to add new features.
> >
> > ROTFLMAO
>
> Ignorance is bliss hey? :-)

Nope! Your original statement was just extremely funny.<g>

Rick
Author
26 Oct 2005 11:31 AM
Michael C
"Rick Rothstein [MVP - Visual Basic]" <rickNOSPAMnews@NOSPAMcomcast.net>
wrote in message news:ObxvF6d2FHA.3416@tk2msftngp13.phx.gbl...
>> >> There's so much more that dot net can do that
>> >> vb6 can't it's easy to add new features.
>> >
>> > ROTFLMAO
>>
>> Ignorance is bliss hey? :-)
>
> Nope! Your original statement was just extremely funny.<g>

Strange, it wouldn't raise an eyebrow in a C# group.

Michael
Author
26 Oct 2005 2:32 PM
Ken Halter
"Michael C" <nospam@nospam.com> wrote in message
news:uGYyADi2FHA.3244@tk2msftngp13.phx.gbl...
>>
>> Nope! Your original statement was just extremely funny.<g>
>
> Strange, it wouldn't raise an eyebrow in a C# group.
>
> Michael

Of course not... they're drunk on that same kool-aid. My question earlier in
this thread stands.... no one... not you, no one from MS, no one from any
group I've asked has provided *real* reasons dot net is the way to go for
new desktop apps. Dotnet for Web and mobile? Yep. Desktop? Still can't see a
reason.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
27 Oct 2005 5:07 AM
Michael C
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message
news:eMXEhoj2FHA.2816@tk2msftngp13.phx.gbl...
> Of course not... they're drunk on that same kool-aid. My question earlier
> in this thread stands.... no one... not you, no one from MS, no one from
> any group I've asked has provided *real* reasons dot net is the way to go
> for new desktop apps. Dotnet for Web and mobile? Yep. Desktop? Still can't
> see a reason.

The reasons are more subtle than the change from say dos to windows but that
doesn't mean they don't exist. I think interop is one very good reason,
especially in the type of apps I do working with directX, WIA etc. The fact
that you can create a large number of objects is another *very* significant
reason (vb6 had trouble creating too many instances of objects). The oop
features and strict type casting are other good reasons. Just the way it is
all consistant is another good reason.

Michael
Author
27 Oct 2005 11:49 AM
Ralph
Show quote Hide quote
"Michael C" <nospam@nospam.com> wrote in message
news:OOH7fRr2FHA.896@TK2MSFTNGP09.phx.gbl...
> "Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message
> news:eMXEhoj2FHA.2816@tk2msftngp13.phx.gbl...
> > Of course not... they're drunk on that same kool-aid. My question
earlier
> > in this thread stands.... no one... not you, no one from MS, no one from
> > any group I've asked has provided *real* reasons dot net is the way to
go
> > for new desktop apps. Dotnet for Web and mobile? Yep. Desktop? Still
can't
> > see a reason.
>
> The reasons are more subtle than the change from say dos to windows but
that
> doesn't mean they don't exist. I think interop is one very good reason,
> especially in the type of apps I do working with directX, WIA etc. The
fact
> that you can create a large number of objects is another *very*
significant
> reason (vb6 had trouble creating too many instances of objects). The oop
> features and strict type casting are other good reasons. Just the way it
is
> all consistant is another good reason.
>
> Michael
>

The "you can create a large number of objects" excuse is hardly a
significant reason, assuming it is even true. Just because you can do
something is never a good reason for doing it. Witness the large number of
pleas for assistance this newsgroup gets on the subject - "Help! My app dies
when processing a 5 gig file.", "Help! My app won't compile with 1100
options buttons.", &etc. I believe you will discover any desktop app with a
"large number of objects" has other issues far above any imagined
limitations in the language used to build it.

-ralph
Author
27 Oct 2005 12:20 PM
Michael C
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:0MqdnaL1otoNI_3eRVn-tQ@arkansas.net...
> The "you can create a large number of objects" excuse is hardly a
> significant reason, assuming it is even true.

It's definately true. VB apparently uses 100 bytes per object as an absolute
minimum while dot net uses 8 bytes minimum. It also doesn't have ref
counting which slows down vb6 considerably.

> Just because you can do
> something is never a good reason for doing it. Witness the large number of
> pleas for assistance this newsgroup gets on the subject - "Help! My app
> dies
> when processing a 5 gig file.", "Help! My app won't compile with 1100
> options buttons.", &etc. I believe you will discover any desktop app with
> a
> "large number of objects" has other issues far above any imagined
> limitations in the language used to build it.

I wrote a grid usercontrol in vb6 that had 1 object per cell. It worked
quite well in most regards, vb6 was very quick at calling the windows APIs
to paint the grid so it redrew and scrolled very fast. The problem was
creating and destroying objects in vb6 is very slow so if the grid had 100
rows by 100 columns that came out to 10200 objects. This was really too many
objects for vb6. When I rewrote it in dot net the speed difference was
amazing, you could create a huge number of rows and columns in no time.
Having a lighter object really frees things up and allows you to define an
object for much more trivial items. You no longer have to think "is is worth
creating an object for something so small" you just create it. For example,
items in listboxes are now objects.

Michael
Author
27 Oct 2005 1:30 PM
Ralph
Show quote Hide quote
"Michael C" <nospam@nospam.com> wrote in message
news:Oo$OIDv2FHA.3788@tk2msftngp13.phx.gbl...
> "Ralph" <nt_consultin***@yahoo.com> wrote in message
> news:0MqdnaL1otoNI_3eRVn-tQ@arkansas.net...
> > The "you can create a large number of objects" excuse is hardly a
> > significant reason, assuming it is even true.
>
> It's definately true. VB apparently uses 100 bytes per object as an
absolute
> minimum while dot net uses 8 bytes minimum. It also doesn't have ref
> counting which slows down vb6 considerably.
>
> > Just because you can do
> > something is never a good reason for doing it. Witness the large number
of
> > pleas for assistance this newsgroup gets on the subject - "Help! My app
> > dies
> > when processing a 5 gig file.", "Help! My app won't compile with 1100
> > options buttons.", &etc. I believe you will discover any desktop app
with
> > a
> > "large number of objects" has other issues far above any imagined
> > limitations in the language used to build it.
>
> I wrote a grid usercontrol in vb6 that had 1 object per cell. It worked
> quite well in most regards, vb6 was very quick at calling the windows APIs
> to paint the grid so it redrew and scrolled very fast. The problem was
> creating and destroying objects in vb6 is very slow so if the grid had 100
> rows by 100 columns that came out to 10200 objects. This was really too
many
> objects for vb6. When I rewrote it in dot net the speed difference was
> amazing, you could create a huge number of rows and columns in no time.
> Having a lighter object really frees things up and allows you to define an
> object for much more trivial items. You no longer have to think "is is
worth
> creating an object for something so small" you just create it. For
example,
> items in listboxes are now objects.
>
> Michael
>
>


Illustrates the difference between accessing a 'struct' (block of memory)
compared to accessing a COM object.

I have to agree that such situation might provide reason enough to 'switch'.
But it also illustrates why most VB6 desktops apps don't take that approach.
<g>

-ralph
Author
27 Oct 2005 2:27 PM
Bob Butler
"Michael C" <nospam@nospam.com> wrote in message
news:Oo$OIDv2FHA.3788@tk2msftngp13.phx.gbl
> I wrote a grid usercontrol in vb6 that had 1 object per cell. It
> worked quite well in most regards, vb6 was very quick at calling the
> windows APIs to paint the grid so it redrew and scrolled very fast.
> The problem was creating and destroying objects in vb6 is very slow
> so if the grid had 100 rows by 100 columns that came out to 10200
> objects. This was really too many objects for vb6. When I rewrote it
> in dot net the speed difference was amazing, you could create a huge
> number of rows and columns in no time.

Comparing a design that is inappropriate for VB6 against one that dotnet is
optimized for says much more about your limitations than those of VB6.

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
27 Oct 2005 2:55 PM
Michael C
"Bob Butler" <tiredofit@nospam.com> wrote in message
news:uVzXdKw2FHA.896@TK2MSFTNGP09.phx.gbl...
> Comparing a design that is inappropriate for VB6 against one that dotnet
> is
> optimized for says much more about your limitations than those of VB6.

Maybe I was at fault for chosing the method I did but the fact still stands
that this is a big limitation of vb6 and an excellent feature in dot net.

Michael
Author
26 Oct 2005 12:54 PM
Bob Butler
"Michael C" <nospam@nospam.com> wrote in message
news:ubKdyxd2FHA.2492@TK2MSFTNGP09.phx.gbl
> "Bob Butler" <tiredofit@nospam.com> wrote in message
> news:e8t%23a%23c2FHA.1268@TK2MSFTNGP10.phx.gbl...
>> "Michael C" <nospam@nospam.com> wrote in message
>> news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl
>>> There's so much more that dot net can do that
>>> vb6 can't it's easy to add new features.
>>
>> ROTFLMAO
>
> Ignorance is bliss hey? :-)

If so you must be one happy camper!

--
Reply to the group so all can participate
VB.Net: "Fool me once..."
Author
26 Oct 2005 11:13 AM
S. I. Becker
> There's so much more that dot net can do that vb6 can't

Michael,

Can you name some of these things that you can do in .Net that you can't in
VB6?  Not stuff that might be easier to code, but things that are
_impossible_ in VB6 and possible in .Net

To start you off I've thought of a couple the other way around:

* Support older Win32 platforms

* Edit and continue, which is an example of just how easy it is for
rewriting and adding new features to be done simultaneously.  The IDE was
re-written and the feature "lack-of-edit-and-continue" was added.  To be
fair this comes back in VS2005, but 3 years is a long time without one of
the most useful debugging tools MS have produced.

* Share files from one project to another.

> it's easy to add new features.
It's just as easy to add new features in the idealised perfectly-managed
apps that you seem to think are the only ones that count.  It seems to me
the you are the one with rose-tinted spectacles:

"
>> When you have a very large program you overhaul one thing at a time, not
>> the whole project. Rewriting the whole project is the best way to go
>> bankrupt that I can think of.

> If poorly managed, sure but a company should be able to manage this after
> 10 years in business.
"

One thing _I've_ noticed is:

1) Those who play down the problems involved in migrating apps from VB6 to
VB.Net tend to have the least experience of doing so.

2) This thread and the ".NOT - My views" thread have far more posts than any
others on this board.

OK so that was two things I've noticed :)

Stewart Becker
Author
26 Oct 2005 1:49 PM
Michael C
"S. I. Becker" <stewart@becker.nospam> wrote in message
news:%23CcZc7h2FHA.3912@TK2MSFTNGP15.phx.gbl...
> Can you name some of these things that you can do in .Net that you can't
> in VB6?  Not stuff that might be easier to code, but things that are
> _impossible_ in VB6 and possible in .Net
>
> To start you off I've thought of a couple the other way around:
>
> * Support older Win32 platforms

Big deal, this concerned me when dot net first came out but not any more.
It's actually a good thing to get rid of win95 customers. Not that I've been
able to find any over the last few years. :-)

> * Edit and continue, which is an example of just how easy it is for
> rewriting and adding new features to be done simultaneously.  The IDE was
> re-written and the feature "lack-of-edit-and-continue" was added.  To be
> fair this comes back in VS2005, but 3 years is a long time without one of
> the most useful debugging tools MS have produced.

I thought you said things that were impossible, not just things that made it
easier. If you want to talk about things that are just easier I could list
literally hundreds.

> * Share files from one project to another.

You can't do this in dot net?

> It's just as easy to add new features in the idealised perfectly-managed
> apps that you seem to think are the only ones that count.  It seems to me
> the you are the one with rose-tinted spectacles:

I think you've misunderstood what I'm saying. You might have a feature you
want to add but that will require a major change to the database, which will
then require major changes to a number of areas of the app. This amount of
time can easily become too large for the benefit of having the feature. But
if you are doing a rewrite this feature can be added for free, or at very
little cost (over the cost of the rewrite). Add a few of these features
together (we've got plenty) and it can be cost effective to do a rewrite.

> 1) Those who play down the problems involved in migrating apps from VB6 to
> VB.Net tend to have the least experience of doing so.

Or have done it and know it's not as much trouble as expected. :-)

As for things that are impossible in vb6 that are possible in dot net how
about com interop. Although vb6 is a com language (possibly "the" com
language) it's actually very poor at working with com objects that don't
support late binding. I never realised but windows has hundreds, probably
thousands, of com interfaces that vb has no access to. This opens up all
sorts of functionality that's not available to vb6, such as direct show,
direct sound etc, cd burning using IMAPI, windows image aquisition and a
whole lot of shell functions.

Michael
Author
26 Oct 2005 2:34 PM
Ken Halter
"Michael C" <nospam@nospam.com> wrote in message
news:OokPGQj2FHA.956@TK2MSFTNGP10.phx.gbl...
>
> Big deal, this concerned me when dot net first came out but not any more.
> It's actually a good thing to get rid of win95 customers. Not that I've
> been able to find any over the last few years. :-)

Same old reply from the Kool-Aid crowd.... *we* don't use it so it must die.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
26 Oct 2005 3:27 PM
Alfie [UK]
On Wed, 26 Oct 2005 23:49:02 +1000, "Michael C" <nospam@nospam.com>
wrote:
>As for things that are impossible in vb6 that are possible in dot net how
>about com interop. Although vb6 is a com language (possibly "the" com
>language) it's actually very poor at working with com objects that don't
>support late binding. I never realised but windows has hundreds, probably
>thousands, of com interfaces that vb has no access to. This opens up all
>sorts of functionality that's not available to vb6, such as direct show,
>direct sound etc, cd burning using IMAPI, windows image aquisition and a
>whole lot of shell functions.
>
Huh ? VB6 can already interact with DX8 and below, although MS
puporsefully did not add support for DX9/VB6.
--
Alfie
<http://www.delphia.co.uk/>
Confucius say: 'People who make Confucius joke speak bad English.'
Author
27 Oct 2005 5:08 AM
Michael C
"Alfie [UK]" <m*@privacy.net> wrote in message
news:3s7vl1d38s70g3c9vj148btslivpgkcgbo@4ax.com...
> Huh ? VB6 can already interact with DX8 and below, although MS
> puporsefully did not add support for DX9/VB6.

It does on a *very* limited basis.

Michael
Author
26 Oct 2005 4:30 PM
S. I. Becker
>> * Support older Win32 platforms
>
> Big deal, this concerned me when dot net first came out but not any more.
> It's actually a good thing to get rid of win95 customers. Not that I've
> been able to find any over the last few years. :-)

This attitude doesn't surprise me, since the whole VB6/.Net issue stems from
the idea that upgrading for the sake of upgrading is fine, and those who
don't/can't are irrelevant.  Some of us do have NT4 and Win9x customers that
we want to support.

>> * Edit and continue, which is an example of just how easy it is for
>> rewriting and adding new features to be done simultaneously.  The IDE was
>> re-written and the feature "lack-of-edit-and-continue" was added.  To be
>> fair this comes back in VS2005, but 3 years is a long time without one of
>> the most useful debugging tools MS have produced.
>
> I thought you said things that were impossible, not just things that made
> it easier. If you want to talk about things that are just easier I could
> list literally hundreds.

Edit and continue is not possible in .Net.  I admit that it's a compiler
feature, not a feature of my apps, and it exists purely to make my job
easier.  I mainly mentioned this to highlight the fact that complete
rewrites tend mean that you remove existing features, rather than adding new
ones in.

>> * Share files from one project to another.
>
> You can't do this in dot net?

No, each project's code exists in its own folder.  If you try to add
something from outside, it will take a copy and put it in the folder, so
that updates in the original file no longer occur in the other.  (If I'm
wrong on this BTW, and you can share code this way then let me know because
every method I've tried has resulted in multiple copies of a file, rather
than shared code.)  Now some may say that .Net's way is good since you don't
break other projects inadvertantly, but it has its uses for code-reuse.  In
VB6 (and other VS6 projects for that matter) _I_ am in control of where
these files come from - because the IDE considers me responsible enough to
deal with any sde-effects my changes may have.

>> It's just as easy to add new features in the idealised perfectly-managed
>> apps that you seem to think are the only ones that count.  It seems to me
>> the you are the one with rose-tinted spectacles:
>
> I think you've misunderstood what I'm saying. You might have a feature you

No you've missed my point, which is that you accuse everyone else as having
a idealised hypothetical apps which are perfectly written in modules and
components, but then bring in the idea that companies must be so well run so
as to be able to absorb the cost of a re-write.  That is just plain
inconsistency.  Some companies will fold because they can't afford the cost
of a re-write, and to compete successfully requires being able to use the
new features of .Net compilers - but this doesn't mean they are poorly run -
just that they can't spare the resources involved for a rewrite that
wouldn't be necessary if they could use new features provided by .Net in
their apps as they exist now.  However that doesn't matter, as MS has
decided it doesn't need these companies' custom.

Stewart
Author
27 Oct 2005 5:25 AM
Michael C
"S. I. Becker" <stewart@becker.nospam> wrote in message
news:%23X1Dytk2FHA.3272@TK2MSFTNGP09.phx.gbl...
> This attitude doesn't surprise me, since the whole VB6/.Net issue stems
> from the idea that upgrading for the sake of upgrading is fine, and those
> who don't/can't are irrelevant.  Some of us do have NT4 and Win9x
> customers that we want to support.

The problem I've found with win95 and even win98 machines is that they
require so much work that's it's uneconomical to maintain them. I always
give people warnings that fixing these machines can easily run into the cost
of an upgrade. If you fix one thing another seems to break. This is probably
not the fault of win95 entirely but the age of the machines on which it's
run. Most of these machines you'd have trouble selling for $50 so it doesn't
make a lot of sense to spend labour on them when an hourly rate is higher.

> Edit and continue is not possible in .Net.  I admit that it's a compiler
> feature, not a feature of my apps, and it exists purely to make my job
> easier.  I mainly mentioned this to highlight the fact that complete
> rewrites tend mean that you remove existing features, rather than adding
> new ones in.

I admit edit and continue is an awesome feature in vb6 and I would never
attempt to say I don't miss it. But there are literally hundreds of features
in dot net that compensate for it. I remember a little while after
installing dot net that if you had a single line if statement that you could
put a breakpoint on the if part of the line or just one the code that
executed if the condition is true. That really suprised me and showed the
depth to which they've gone with dot net.

> No, each project's code exists in its own folder.  If you try to add
> something from outside, it will take a copy and put it in the folder, so
> that updates in the original file no longer occur in the other.  (If I'm
> wrong on this BTW, and you can share code this way then let me know
> because every method I've tried has resulted in multiple copies of a file,
> rather than shared code.)  Now some may say that .Net's way is good since
> you don't break other projects inadvertantly, but it has its uses for
> code-reuse.  In VB6 (and other VS6 projects for that matter) _I_ am in
> control of where these files come from - because the IDE considers me
> responsible enough to deal with any sde-effects my changes may have.

Looks like you're right.

> No you've missed my point, which is that you accuse everyone else as
> having a idealised hypothetical apps which are perfectly written in
> modules and components, but then bring in the idea that companies must be
> so well run so as to be able to absorb the cost of a re-write.  That is
> just plain inconsistency.  Some companies will fold because they can't
> afford the cost of a re-write, and to compete successfully requires being
> able to use the new features of .Net compilers - but this doesn't mean
> they are poorly run - just that they can't spare the resources involved
> for a rewrite that wouldn't be necessary if they could use new features
> provided by .Net in their apps as they exist now.  However that doesn't
> matter, as MS has decided it doesn't need these companies' custom.

Fair point although all the companies I've worked for the money has been
there and they could have made more money out of the all new version but
they just haven't had the guts to spend it. I guess it is a risk and it
could be bad if it goes wrong but it could also be very good if it goes
right. The companies I've worked for have ranged from big to small but
mostly small.

Michael
Author
26 Oct 2005 2:29 PM
Ken Halter
"Michael C" <nospam@nospam.com> wrote in message
news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl...
>
> In my specific case I've got lots of features that are selling points for
> the new rewrite. There's so much more that dot net can do that vb6 can't
> it's easy to add new features.
>
> Michael

I've seen that statement so many times it's getting real old. What, exactly,
is it that dot net can do that VB6 can't. Remember that you're posting to a
group that's full of people that have years of classes/modules built up in
their libraries so none of the usual "this feature is built into the
framework so you don't have to write it" arguments matter at all (not even a
little). The *only* good uses I see for dot net are web based and mobile
apps. Desktop users want performance..... which is one reason it took so
long for DOS to die in the first place.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
26 Oct 2005 4:37 PM
Paul Clement
On Wed, 26 Oct 2005 07:29:17 -0700, "Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote:

¤ "Michael C" <nospam@nospam.com> wrote in message
¤ news:O9EmUvc2FHA.1416@TK2MSFTNGP09.phx.gbl...
¤ >
¤ > In my specific case I've got lots of features that are selling points for
¤ > the new rewrite. There's so much more that dot net can do that vb6 can't
¤ > it's easy to add new features.
¤ >
¤ > Michael
¤
¤ I've seen that statement so many times it's getting real old. What, exactly,
¤ is it that dot net can do that VB6 can't. Remember that you're posting to a
¤ group that's full of people that have years of classes/modules built up in
¤ their libraries so none of the usual "this feature is built into the
¤ framework so you don't have to write it" arguments matter at all (not even a
¤ little). The *only* good uses I see for dot net are web based and mobile
¤ apps. Desktop users want performance..... which is one reason it took so
¤ long for DOS to die in the first place.

I think you answered your question. You can't build a web app. You can't build a native Windows
Service. You can't build a web service w/o the aggravation of dealing with SOAP. You can't build a
free-threaded application and any multi-threading requires writing a half-baked and faked threading
model. Absence of full OO support.

I could go on, but I'm not sure why you even bother to ask the question?


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
26 Oct 2005 6:23 PM
Ken Halter
Show quote Hide quote
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:sgbvl1th69uv79gbp60dc6c42lj1rt5e3i@4ax.com...
> ¤ I've seen that statement so many times it's getting real old. What,
> exactly,
> ¤ is it that dot net can do that VB6 can't. Remember that you're posting
> to a
> ¤ group that's full of people that have years of classes/modules built up
> in
> ¤ their libraries so none of the usual "this feature is built into the
> ¤ framework so you don't have to write it" arguments matter at all (not
> even a
> ¤ little). The *only* good uses I see for dot net are web based and mobile
> ¤ apps. Desktop users want performance..... which is one reason it took so
> ¤ long for DOS to die in the first place.
>
> I think you answered your question. You can't build a web app. You can't
> build a native Windows
> Service. You can't build a web service w/o the aggravation of dealing with
> SOAP. You can't build a
> free-threaded application and any multi-threading requires writing a
> half-baked and faked threading
> model. Absence of full OO support.
>
> I could go on, but I'm not sure why you even bother to ask the question?
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)

Well... web apps, services, soap, etc, don't interest me. I build desktop
apps.... poking around the dot net groups tells me that this "full OO
support" that B# claims to have is "half baked" in itself. Ever tried visual
inheritance for example?

VB6 supports inheritance, if that's what all the OO hoop-la is about.

Inheritance Class Generator: VB6 Add-in
"I'd call it a design that supports the feature in question. End of story.
Understand that inheritance is a purely abstract concept. If a design maps
onto the concept, it is "real", and anyone who says differently, is confused
by the difference between a concept and a given implementation of a concept
in some product. Please note how much of the code in this example has a
boilerplate quality. Not only can VB6 "do inheritance", but one could argue
that the VB team could have added the keywords to the language in a few
man-weeks of effort"
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=53587&lngWId=1

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
26 Oct 2005 7:24 PM
Paul Clement
On Wed, 26 Oct 2005 11:23:50 -0700, "Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote:

¤ "Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
¤ news:sgbvl1th69uv79gbp60dc6c42lj1rt5e3i@4ax.com...
¤ > ¤ I've seen that statement so many times it's getting real old. What,
¤ > exactly,
¤ > ¤ is it that dot net can do that VB6 can't. Remember that you're posting
¤ > to a
¤ > ¤ group that's full of people that have years of classes/modules built up
¤ > in
¤ > ¤ their libraries so none of the usual "this feature is built into the
¤ > ¤ framework so you don't have to write it" arguments matter at all (not
¤ > even a
¤ > ¤ little). The *only* good uses I see for dot net are web based and mobile
¤ > ¤ apps. Desktop users want performance..... which is one reason it took so
¤ > ¤ long for DOS to die in the first place.
¤ >
¤ > I think you answered your question. You can't build a web app. You can't
¤ > build a native Windows
¤ > Service. You can't build a web service w/o the aggravation of dealing with
¤ > SOAP. You can't build a
¤ > free-threaded application and any multi-threading requires writing a
¤ > half-baked and faked threading
¤ > model. Absence of full OO support.
¤ >
¤ > I could go on, but I'm not sure why you even bother to ask the question?
¤ >
¤ >
¤ > Paul
¤ > ~~~~
¤ > Microsoft MVP (Visual Basic)
¤
¤ Well... web apps, services, soap, etc, don't interest me. I build desktop
¤ apps.... poking around the dot net groups tells me that this "full OO
¤ support" that B# claims to have is "half baked" in itself. Ever tried visual
¤ inheritance for example?
¤
¤ VB6 supports inheritance, if that's what all the OO hoop-la is about.
¤

VB 6.0 supports "interface" inheritance, not native code or "implementation" inheritance. You have
to implement delegation using code instead. Visual Basic.NET has native support for both.

What is it that you find to be so difficult with the visual inheritance support in WinForms and
Visual Basic.NET?

While you may not care about the missing features I mentioned in VB 6.0, many do. It doesn't prevent
you from developing applications that satisfy your requirements.

¤ Inheritance Class Generator: VB6 Add-in
¤ "I'd call it a design that supports the feature in question. End of story.
¤ Understand that inheritance is a purely abstract concept. If a design maps
¤ onto the concept, it is "real", and anyone who says differently, is confused
¤ by the difference between a concept and a given implementation of a concept
¤ in some product. Please note how much of the code in this example has a
¤ boilerplate quality. Not only can VB6 "do inheritance", but one could argue
¤ that the VB team could have added the keywords to the language in a few
¤ man-weeks of effort"
¤ http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=53587&lngWId=1

Nice rationalization. The problem is that the implementation still requires delegation code.  VB 6.0
doesn't support "overloading" or "overrides" either, although I'm sure you could find some way to
fake it as well.


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
26 Oct 2005 7:52 PM
Ken Halter
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:ngjvl112ldf9etp7dbna5a9letkuo42i24@4ax.com...
>
> VB 6.0 supports "interface" inheritance, not native code or
> "implementation" inheritance. You have
> to implement delegation using code instead. Visual Basic.NET has native
> support for both.
>
> What is it that you find to be so difficult with the visual inheritance
> support in WinForms and
> Visual Basic.NET?

Not me.... people that actually try to use it.

Visual Inheritence Sux
http://groups.google.com.my/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/3aa7167e330c2231

....and, if it's so straight forward and easy, how come you're not over in
the .Net groups answering posts?
> ¤ that the VB team could have added the keywords to the language in a few
> ¤ man-weeks of effort"
> ¤
> http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=53587&lngWId=1
>
> Nice rationalization. The problem is that the implementation still
> requires delegation code.  VB 6.0

It takes code no matter what environment you're in.

> doesn't support "overloading" or "overrides" either, although I'm sure you
> could find some way to
> fake it as well.
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)

Overloads isn't needed in VB... Overrides may've come in handy at times but
I've managed to live without it for quite a long time.

Bottom line is.... I've managed to talk a couple of people here into letting
me experiment with VS2005 once it's released. Performance will be one of the
main factors in our acceptance tests. If the currently released IDE's any
indication of what we can expect performance wise, the entire package will
end up in the recycle bin in short order. Fancy keywords and all.

If we can get "as good" or better, we might actually use it.. If not, we
won't.. Pretty simple really <g>

These threads are funny... regardless of "who's side" someone's on, there
are always losers.... and they go on and on and on. VB (classic... not the
VBish wrapper around C# that's available now) devs have dart boards where
the bulls eye is Anders Hejlsberg's face.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
27 Oct 2005 2:37 PM
Paul Clement
On Wed, 26 Oct 2005 12:52:56 -0700, "Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote:

¤ > VB 6.0 supports "interface" inheritance, not native code or
¤ > "implementation" inheritance. You have
¤ > to implement delegation using code instead. Visual Basic.NET has native
¤ > support for both.
¤ >
¤ > What is it that you find to be so difficult with the visual inheritance
¤ > support in WinForms and
¤ > Visual Basic.NET?
¤
¤ Not me.... people that actually try to use it.
¤
¤ Visual Inheritence Sux
¤ http://groups.google.com.my/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/3aa7167e330c2231
¤

Wow, now that's what I call a representative sample of opinions. ;-)

¤ ...and, if it's so straight forward and easy, how come you're not over in
¤ the .Net groups answering posts?

I am, but then you wouldn't know that now would you. ;-)

¤ > ¤ that the VB team could have added the keywords to the language in a few
¤ > ¤ man-weeks of effort"
¤ > ¤
¤ > http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=53587&lngWId=1
¤ >
¤ > Nice rationalization. The problem is that the implementation still
¤ > requires delegation code.  VB 6.0
¤
¤ It takes code no matter what environment you're in.
¤

Huh? You don't have to write delegation code to support implementation inheritance in VB.NET. It's
built in.

¤ Overloads isn't needed in VB... Overrides may've come in handy at times but
¤ I've managed to live without it for quite a long time.

Not the point Ken and you know it. It's just another language tool which supports the OO
implementation and makes code easier to understand. I really couldn't care less if it's your
preference to write additional code to implement such a feature. The fact is that we have a choice -
one which you seem more than happy to deny.

¤
¤ Bottom line is.... I've managed to talk a couple of people here into letting
¤ me experiment with VS2005 once it's released. Performance will be one of the
¤ main factors in our acceptance tests. If the currently released IDE's any
¤ indication of what we can expect performance wise, the entire package will
¤ end up in the recycle bin in short order. Fancy keywords and all.
¤
¤ If we can get "as good" or better, we might actually use it.. If not, we
¤ won't.. Pretty simple really <g>
¤
¤ These threads are funny... regardless of "who's side" someone's on, there
¤ are always losers.... and they go on and on and on. VB (classic... not the
¤ VBish wrapper around C# that's available now) devs have dart boards where
¤ the bulls eye is Anders Hejlsberg's face.

Well I'm only on one side and it's Visual Basic, regardless of version.


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
27 Oct 2005 3:08 PM
Michael C
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message news:%
> Not me.... people that actually try to use it.
>
> Visual Inheritence Sux
> http://groups.google.com.my/group/microsoft.public.dotnet.framework.windowsforms/browse_frm/thread/3aa7167e330c2231

I've used visual inheritance in C# to quite good effect although once I do I
never use the designer on that object again. As an example, I created a
control called a ButtonBox which was like a combobox with the button in the
rhs without the dropdown array, and a label. The button did nothing except
raise a click event. I inherited this to make a datebox, dir box, color
selector etc. I thought it worked extremely well.

The way they were using it in that thread seemed like a recipe for disaster.
If you've got a base form adding some controls and then adding some more in
a derived form and try to design all of that at once I would expect
problems.

Michael
Author
26 Oct 2005 9:59 PM
Ralph
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:ngjvl112ldf9etp7dbna5a9letkuo42i24@4ax.com...
> On Wed, 26 Oct 2005 11:23:50 -0700, "Ken Halter"
<Ken_Halter@Use_Sparingly_Hotmail.com> wrote:
Show quoteHide quote
>
> ¤ "Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in
message
> ¤ news:sgbvl1th69uv79gbp60dc6c42lj1rt5e3i@4ax.com...
> ¤ > ¤ I've seen that statement so many times it's getting real old. What,
> ¤ > exactly,
> ¤ > ¤ is it that dot net can do that VB6 can't. Remember that you're
posting
> ¤ > to a
> ¤ > ¤ group that's full of people that have years of classes/modules built
up
> ¤ > in
> ¤ > ¤ their libraries so none of the usual "this feature is built into the
> ¤ > ¤ framework so you don't have to write it" arguments matter at all
(not
> ¤ > even a
> ¤ > ¤ little). The *only* good uses I see for dot net are web based and
mobile
> ¤ > ¤ apps. Desktop users want performance..... which is one reason it
took so
> ¤ > ¤ long for DOS to die in the first place.
> ¤ >
> ¤ > I think you answered your question. You can't build a web app. You
can't
> ¤ > build a native Windows
> ¤ > Service. You can't build a web service w/o the aggravation of dealing
with
> ¤ > SOAP. You can't build a
> ¤ > free-threaded application and any multi-threading requires writing a
> ¤ > half-baked and faked threading
> ¤ > model. Absence of full OO support.
> ¤ >
> ¤ > I could go on, but I'm not sure why you even bother to ask the
question?
> ¤ >
> ¤ >
> ¤ > Paul
> ¤ > ~~~~
> ¤ > Microsoft MVP (Visual Basic)
> ¤
> ¤ Well... web apps, services, soap, etc, don't interest me. I build
desktop
> ¤ apps.... poking around the dot net groups tells me that this "full OO
> ¤ support" that B# claims to have is "half baked" in itself. Ever tried
visual
> ¤ inheritance for example?
> ¤
> ¤ VB6 supports inheritance, if that's what all the OO hoop-la is about.
> ¤
>
> VB 6.0 supports "interface" inheritance, not native code or
"implementation" inheritance. You have
> to implement delegation using code instead. Visual Basic.NET has native
support for both.
>
> What is it that you find to be so difficult with the visual inheritance
support in WinForms and
> Visual Basic.NET?
>
> While you may not care about the missing features I mentioned in VB 6.0,
many do. It doesn't prevent
Show quoteHide quote
> you from developing applications that satisfy your requirements.
>
> ¤ Inheritance Class Generator: VB6 Add-in
> ¤ "I'd call it a design that supports the feature in question. End of
story.
> ¤ Understand that inheritance is a purely abstract concept. If a design
maps
> ¤ onto the concept, it is "real", and anyone who says differently, is
confused
> ¤ by the difference between a concept and a given implementation of a
concept
> ¤ in some product. Please note how much of the code in this example has a
> ¤ boilerplate quality. Not only can VB6 "do inheritance", but one could
argue
> ¤ that the VB team could have added the keywords to the language in a few
> ¤ man-weeks of effort"
> ¤
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=53587&lngWId=1
>
> Nice rationalization. The problem is that the implementation still
requires delegation code.  VB 6.0
> doesn't support "overloading" or "overrides" either, although I'm sure you
could find some way to
> fake it as well.
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)


Just to be mildly picky -

First, VB6 does provide for "overloading". It can be implemented using
Variants. You might not care for the implementation but it's there. In many
cases, thanks to VB's ETC, you get it without asking. <g>

Second, "Over-rides" is only useful with implementation inheritance. What
would you expect an '0verridden' method in an interface to do?

-ralph
Author
26 Oct 2005 11:10 PM
Mike Williams
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:qIGdnR7WtqaZYcLeRVn-iQ@arkansas.net...

> First, VB6 does provide for "overloading".

Hey Ralph. Do me a favour. Trim some of the irrelevant stuff from your posts
;-)

Mike
Author
27 Oct 2005 11:54 AM
Ralph
"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
news:djp2dn$k9g$1@news8.svr.pol.co.uk...
> "Ralph" <nt_consultin***@yahoo.com> wrote in message
> news:qIGdnR7WtqaZYcLeRVn-iQ@arkansas.net...
>
> > First, VB6 does provide for "overloading".
>
> Hey Ralph. Do me a favour. Trim some of the irrelevant stuff from your
posts
> ;-)
>
> Mike
>

LOL

Often guilty as charged. However, this was perhaps one of my shortest - "to
the point" - replies I have ever posted.

You should have seen the seven paragraphs I deleted. <g>

-ralph
Author
27 Oct 2005 2:50 PM
Paul Clement
On Wed, 26 Oct 2005 16:59:32 -0500, "Ralph" <nt_consultin***@yahoo.com> wrote:


¤ Just to be mildly picky -
¤
¤ First, VB6 does provide for "overloading". It can be implemented using
¤ Variants. You might not care for the implementation but it's there. In many
¤ cases, thanks to VB's ETC, you get it without asking. <g>
¤

You're not being picky, I already admitted that it can be faked, which renders intellisense (amongst
other features) useless for this purpose. ;-)

¤ Second, "Over-rides" is only useful with implementation inheritance. What
¤ would you expect an '0verridden' method in an interface to do?

Well you can fake implementation inheritance through delegates. You mean you can't fake overrides as
well? Or, are you telling me that a faked implementation makes it almost impossible to provide
additional features which support the implementation? ;-)


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
27 Oct 2005 3:13 PM
Ralph
Show quote Hide quote
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:bip1m1tr74d2oeoitk3imo7ilro7lu5vk0@4ax.com...
> On Wed, 26 Oct 2005 16:59:32 -0500, "Ralph" <nt_consultin***@yahoo.com>
wrote:
>
>
> ¤ Just to be mildly picky -
> ¤
> ¤ First, VB6 does provide for "overloading". It can be implemented using
> ¤ Variants. You might not care for the implementation but it's there. In
many
> ¤ cases, thanks to VB's ETC, you get it without asking. <g>
> ¤
>
> You're not being picky, I already admitted that it can be faked, which
renders intellisense (amongst
> other features) useless for this purpose. ;-)
>
> ¤ Second, "Over-rides" is only useful with implementation inheritance.
What
> ¤ would you expect an '0verridden' method in an interface to do?
>
> Well you can fake implementation inheritance through delegates. You mean
you can't fake overrides as
> well? Or, are you telling me that a faked implementation makes it almost
impossible to provide
Show quoteHide quote
> additional features which support the implementation? ;-)
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)
Author
27 Oct 2005 3:35 PM
Ralph
Show quote Hide quote
"Paul Clement" <UseAdddressAtEndofMess***@swspectrum.com> wrote in message
news:bip1m1tr74d2oeoitk3imo7ilro7lu5vk0@4ax.com...
> On Wed, 26 Oct 2005 16:59:32 -0500, "Ralph" <nt_consultin***@yahoo.com>
wrote:
>
>
> ¤ Just to be mildly picky -
> ¤
> ¤ First, VB6 does provide for "overloading". It can be implemented using
> ¤ Variants. You might not care for the implementation but it's there. In
many
> ¤ cases, thanks to VB's ETC, you get it without asking. <g>
> ¤
>
> You're not being picky, I already admitted that it can be faked, which
renders intellisense (amongst
> other features) useless for this purpose. ;-)
>
> ¤ Second, "Over-rides" is only useful with implementation inheritance.
What
> ¤ would you expect an '0verridden' method in an interface to do?
>
> Well you can fake implementation inheritance through delegates. You mean
you can't fake overrides as
> well? Or, are you telling me that a faked implementation makes it almost
impossible to provide
> additional features which support the implementation? ;-)
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)

[Sorry about the blank. Bad case of 'quick-click-itis' this morning.]

As far as Overrides are concerned I was only commenting that it, as a
compiler instruction, has little value in VB6, or in any language that
doesn't directly support implementation inheritance.

When the smoke clears all an override does is tell the compiler "Hey, call
me not that other guy". Even when when you are 'faking' implementation
inheritance, you are essentially 'overriding' all the 'base' class (object)
methods anyway. Whether you decide to do some extra process, and pass it on
or not, is purely up to the author.

I think we are chewing on the same stick.

-ralph
Author
27 Oct 2005 5:52 AM
Michael C
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message
news:%23ne%
> I've seen that statement so many times it's getting real old. What,
> exactly, is it that dot net can do that VB6 can't. Remember that you're
> posting to a group that's full of people that have years of
> classes/modules built up in their libraries so none of the usual "this
> feature is built into the framework so you don't have to write it"
> arguments matter at all (not even a little). The *only* good uses I see
> for dot net are web based and mobile apps. Desktop users want
> performance..... which is one reason it took so long for DOS to die in the
> first place.

That's a good question which I think I answered somewhat in another post.
Here's a few more reasons:

Much better interop with com and APIs. This opens up a whole world of
possibilities and is a list on it's own.
Much better oop of course. Again this is a whole list of features.
Strict type casting.
Stricter compiling, eg warning about not returning a value from a function.
Support for wider range of data types, eg variants.
Threading
Windows XP look controls. (I believe you can only partially achieve this in
vb6).
Ability to create services
Web services.
Better tcp/ip support
Native subclassing.
Greater consistancy, eg:
- zero based everywhere
- everything inherits from object and can be assigned to a variable of
object
- every object has ToString method
- All enumerable objects have GetEnumerator method
- all controls and forms inherit from the Control class.
Attributes.
Much more "light weight" objects. Create 1million objects will not be a
problem unlike vb6.
Console apps.
Security, users can decide what they want to allow the app to be able to do.
Ability to add any file to the project, say a word doc and have it there
just as a reference.
Organise source files into directories
Namespaces.
Windows controls created on the fly, much greater control over creating
forms.
Usercontrols work better, none of the hidden wrapper that vb6 has.
Usercontrols don't need to readProperties and WriteProperties events.
Better support for painting.
The "many shades of nothing" (empty, null, nothing, missing) is gone.
2 or more breakpoints on the one line.
XCopy install once the framework in installed.

I could keep going and going. I understand it's not such a difference as
between asp and aspx but it's still a pretty big difference.

Michael
Author
27 Oct 2005 3:21 PM
Ken Halter
"Michael C" <nospam@nospam.com> wrote in message
news:e1iHeqr2FHA.476@TK2MSFTNGP15.phx.gbl...
>
> That's a good question which I think I answered somewhat in another post.
> Here's a few more reasons:
>
> Much better interop with com and APIs. This opens up a whole world of
> possibilities and is a list on it's own.

Have you poked around in the interop groups? <g>

I'm not sure how much better dotnet can be at interacting with com
components that VB5/6 is... since they build only com components, they're
pretty good at working with them <g>

> Much better oop of course. Again this is a whole list of features.
> Strict type casting.
> Stricter compiling, eg warning about not returning a value from a
> function.
> Support for wider range of data types, eg variants.
> Threading

Threading _may_ come in handy. I've only needed (actually, wanted) to create
a couple of multi-thread (ax-exe) apps. They worked fine and were
predictable.

> Windows XP look controls. (I believe you can only partially achieve this
> in vb6).

Low (real low) priority here. XP is Win2k with a Fisher Price UI. Just
another glittery toy that people eventually get tired of.

> Ability to create services

Low priority.... I see services as just another way for some hot-shot
developer, thinking they need full control (but don't), to keep their app
running on a users PC. I probably will never create a service... just as the
TSR freaks of the 1980s wanted their TSRs running at all times, the new
Service freaks want the same thing. People have to conciously click on an
icon to run one of my apps <g> They can place them in the startup group if
they see fit. That decision's up to them. Not so with a service.

> Web services.

Below zero priority.

> Better tcp/ip support

Maybe better "built in" support.

> Native subclassing.

This may come in handy. I've been known to subclass a window here and there
<g> No real problem in VB6 either, once you know how to do it without
crashing.

> Greater consistancy, eg:
> - zero based everywhere
> - everything inherits from object and can be assigned to a variable of
> object

Dotnet Object = VB Variant

> - every object has ToString method

Too bad this is needed. It's ridiculous imo.

> - All enumerable objects have GetEnumerator method

Not sure I've ever had a need for that.

> - all controls and forms inherit from the Control class.
> Attributes.

All VB classic controls "inherit" from some native windows control so....
same thing. Dotnet may have fewer "design time only" settings.

> Much more "light weight" objects. Create 1million objects will not be a
> problem unlike vb6.
> Console apps.

Far below zero priority. Console = DOS. DOS = dump windows and get some real
performance. If I want a console app, I'll create a batch file.

> Security, users can decide what they want to allow the app to be able to
> do.

Not sure I follow you there... our apps usually have 11-13 security levels
the 'process engineer' can set to allow/deny certain functionality.

> Ability to add any file to the project, say a word doc and have it there
> just as a reference.

As a project reference? or just a doc that's attached to the project (for
source control reasons). If it's "just attached", VB6 can do the same with
its related document functionality. File type is irrelavent. Since it's part
of the project, it'll be added to source safe. There's no way to directly
reference these docs in VB6 though.... well.... other than their known
presence.

> Organise source files into directories

No prob in VB5/6. Source can be scattered all over the place if you want.

> Namespaces.

This may come in handy. We'll (eventually) see.

> Windows controls created on the fly, much greater control over creating
> forms.
> Usercontrols work better, none of the hidden wrapper that vb6 has.

VB5/6s Extender object is a pain. Poking around the dotnet groups, I see
there are many problems with dotnet usercontrols as well. Maybe, once
they're running and working properly, you can benefit from the lack of this
"wrapper" but, until then, you're struggling to just get them to work. In
VB6, creating a usercontrol is just too easy. Especially since VB5/6 ships
with the ActiveX Control Interface Wizard, which is the best wizard I've
seen anywhere (in anything MS sells anyway)

> Usercontrols don't need to readProperties and WriteProperties events.

They're there.... they may be hidden... but they're there. If they spit out
XML all over the place, I'll be ticked.

> Better support for painting.
> The "many shades of nothing" (empty, null, nothing, missing) is gone.

Those shades don't cause a problem once you get to know them

> 2 or more breakpoints on the one line.

Strange.

> XCopy install once the framework in installed.

Not impressed. Installshield works quite well.

> I could keep going and going. I understand it's not such a difference as
> between asp and aspx but it's still a pretty big difference.

No need.... no interest <g>

> Michael

Well... thx for taking the time anyway <g> Its rare that I read anything
"real". Most just say "cuz vb6 sux" or "vb classic is a toy"... poking
around the dotnet groups, I can find plenty of code that should be
considered junk. Poking around MSDN or the KB will produce tons of junk code
too (in any programming language you like). I'm not sure who writes this
stuff but I can see how newbies can easily get into some very bad habits
just by taking the advice of the help file they're reading.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
28 Oct 2005 1:01 AM
Michael C
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message news:%
> I'm not sure how much better dotnet can be at interacting with com
> components that VB5/6 is... since they build only com components, they're
> pretty good at working with them <g>

That's what I used to think but vb6 only works with a very small select
group of com components, I think the correct term is IDispatch components.
Windows has thousands of com interfaces that are inaccessible to vb6 except
through fairly advanced tricks which generally involve writing helper code
in a language other the vb. This covers a wide range of functionality such
as DirectX, Windows Image Aquisition, all sorts of shell functions etc.

> Threading _may_ come in handy. I've only needed (actually, wanted) to
> create a couple of multi-thread (ax-exe) apps. They worked fine and were
> predictable.

Gotta admit I rarely use it but that's because I don't yet understand it
very well.

> Low (real low) priority here. XP is Win2k with a Fisher Price UI. Just
> another glittery toy that people eventually get tired of.

Depends on what you do. If you do one off apps then it probably unimportant.
I do apps that go to a few hundred customers so I think it's important to
have it looking as modern as possible. Loading up a win95 looking app on XP
is starting to look a bit dated.

> Low priority.... I see services as just another way for some hot-shot
> developer, thinking they need full control (but don't), to keep their app
> running on a users PC. I probably will never create a service... just as
> the TSR freaks of the 1980s wanted their TSRs running at all times, the
> new Service freaks want the same thing. People have to conciously click on
> an icon to run one of my apps <g> They can place them in the startup group
> if they see fit. That decision's up to them. Not so with a service.

They can turn a service off.

>> Web services.
>
> Below zero priority.

Really? Already my app gets automatic updates (the service downloads them
overnight :-), downloads postcode updates, sends sms and emails all though
the web service. They can report bugs through the web service too complete
with the error log showing the call stack (not sure if this is good feature
yet!).

> This may come in handy. I've been known to subclass a window here and
> there <g> No real problem in VB6 either, once you know how to do it
> without crashing.

That's true although it is a fair amount of work, in .net you just type
"override WndProc"

> Dotnet Object = VB Variant

Not quite, vb6 has variant and object. Nothing in vb6 inherits from variant.

> Too bad this is needed. It's ridiculous imo.

ToString is suprisingly handy, say for showing the results from a database
in a grid you just call ToString on everything.

>> - All enumerable objects have GetEnumerator method
>
> Not sure I've ever had a need for that.

You would use it when you call foreach. VB does has a hidden GetEnum method
which is similar but dot net has it on arrays also (pretty minor I know).

> All VB classic controls "inherit" from some native windows control so....
> same thing. Dotnet may have fewer "design time only" settings.

They do, kindof but it's quite a poor implementation. In dot net if you have
a variable of type control you can call standard properties on it such as
left, width, parent etc.

> Far below zero priority. Console = DOS. DOS = dump windows and get some
> real performance. If I want a console app, I'll create a batch file.

It's not a dos app, it's a win32 console app. It's much like most of the
console apps in windows such the ipconfig.exe program.

> Not sure I follow you there... our apps usually have 11-13 security levels
> the 'process engineer' can set to allow/deny certain functionality.

Say you've just downloaded an app from the internet but don't trust it, you
can say you don't want that app to be able to access the registry or delete
files or contact the internet. Web page designers can have executables that
the user can choose to run from the website but the program gets very
restricted access to the users pc. I could see it being a problem in the
future having apps in vb6 because they will be considered untrusted and need
special permission to run on the users PC.

> As a project reference? or just a doc that's attached to the project (for
> source control reasons). If it's "just attached", VB6 can do the same with
> its related document functionality. File type is irrelavent. Since it's
> part of the project, it'll be added to source safe. There's no way to
> directly reference these docs in VB6 though.... well.... other than their
> known presence.

Ok, sounds like the same feature, I never used it in vb6.

> No prob in VB5/6. Source can be scattered all over the place if you want.

Doesn't show in the IDE though which is where it really counts. It can
really help to have files in seperate directories. You can even have the
same object names in each directory. As an example, from a recent project I
did I had "ComObjects.IVideoWindow" and "IVideoWindow". The one in the
ComObjects directory was the com interface and the other was my dot net
wrapper for it.

>> Namespaces.
>
> This may come in handy. We'll (eventually) see.

It's good for large projects.

> VB5/6s Extender object is a pain. Poking around the dotnet groups, I see
> there are many problems with dotnet usercontrols as well. Maybe, once
> they're running and working properly, you can benefit from the lack of
> this "wrapper" but, until then, you're struggling to just get them to
> work. In VB6, creating a usercontrol is just too easy. Especially since
> VB5/6 ships with the ActiveX Control Interface Wizard, which is the best
> wizard I've seen anywhere (in anything MS sells anyway)

I'm not sure what it is about controls that is hard, I thought they worked
quite well. Some of the features can be a little more difficult because you
need to work out which attribute to apply, eg the DesignerVisible attribute

[DesignerVisible = false]
Public property get WhatEver
End Property

>> Usercontrols don't need to readProperties and WriteProperties events.
>
> They're there.... they may be hidden... but they're there. If they spit
> out XML all over the place, I'll be ticked.

It uses XML for binary properties such as an icon but other properties are
just added as code the form hosting the control.

>> Better support for painting.
>> The "many shades of nothing" (empty, null, nothing, missing) is gone.
>
> Those shades don't cause a problem once you get to know them

Better without them tho :-)

>> 2 or more breakpoints on the one line.
>
> Strange.

It's handy for code like "if x < 0 then x = 0" you can breakpoint on the x =
0  part or the if part.

>> XCopy install once the framework in installed.
>
> Not impressed. Installshield works quite well.

True, although NSIS is better ;-)

>> I could keep going and going. I understand it's not such a difference as
>> between asp and aspx but it's still a pretty big difference.
>
> No need.... no interest <g>

You asked :-)

Michael
Author
28 Oct 2005 4:44 PM
Ken Halter
"Michael C" <nospam@nospam.com> wrote in message
news:OxCLPs12FHA.2268@TK2MSFTNGP15.phx.gbl...
>
> They can turn a service off.

LOL.... most users have no idea what a service is, so forget about them
being able to find them in the control panel and turn them off... as a
matter of fact, I've been searching for a site that tells me which services
I can turn off myself to get better performance.... actually, I'd like to
turn all of them off except the ones that are absolutely necessary to run
Windows.

>>> Web services.
>>
>> Below zero priority.
>
> Really? Already my app gets automatic updates (the service downloads them
> overnight :-), downloads postcode updates, sends sms and emails all though
> the web service. They can report bugs through the web service too complete
> with the error log showing the call stack (not sure if this is good
> feature yet!).

Don't need a web service for Auto Updates. There are plenty of Auto Update
samples on PlanetSourceCode.com, including a couple of "Contest Winners".
Even the call stack/error reporting doesn't require a service. Just an email
client. It's a ton of work to do yourself (once it's done though, it's done)
and wouldn't try to talk someone into doing it. Instead, I'd suggest they
grab VB Watch from aivosto.com. It has this and much, much more (for a
price)

>> Too bad this is needed. It's ridiculous imo.
>
> ToString is suprisingly handy, say for showing the results from a database
> in a grid you just call ToString on everything.

In VB Classic, just show the data. The language assumes that, if you want
someone to see it, and it needs to be displayed in a control, you'll need a
string. No need to call another method.

Dim I As Integer
I = 12
MsgBox I

Can't tell me that a "super duper" language like B# can't figure out on it's
own that, to show that variable in a message box, it has to be a string
representation of that variable.

>> Far below zero priority. Console = DOS. DOS = dump windows and get some
>> real performance. If I want a console app, I'll create a batch file.
>
> It's not a dos app, it's a win32 console app. It's much like most of the
> console apps in windows such the ipconfig.exe program.

Simply no interest. <g> Others may like seeing dos windows flashing on and
off... not me. I started using VB, way back when, to avoid console apps
while running Windows. Heck... if I wanted console apps, I'd write Quick
Basic/Assembler apps. Who cares if they're only 16 bit apps... they'd still
stomp all over anything written for Windows, performance wise.

>> Not sure I follow you there... our apps usually have 11-13 security
>> levels the 'process engineer' can set to allow/deny certain
>> functionality.
>
> Say you've just downloaded an app from the internet but don't trust it,
> you can say you don't want that app to be able to access the registry or
> delete files or contact the internet. Web page designers can have
> executables that the user can choose to run from the website but the
> program gets very restricted access to the users pc. I could see it being
> a problem in the future having apps in vb6 because they will be considered
> untrusted and need special permission to run on the users PC.

Another way to kill VB. First, release another product called VB, then, make
it harder for people that do use it to deploy it. Finally, introduce service
packs and updates that cause unpredictable behavior so the users/developers
can't trust the results they're getting. Fantastic marketting ploy.

>
>> No prob in VB5/6. Source can be scattered all over the place if you want.
>
> Doesn't show in the IDE though which is where it really counts. It can

The full path doesn't show? Not sure I'm getting the point here.

Show quoteHide quote
> really help to have files in seperate directories. You can even have the
> same object names in each directory. As an example, from a recent project
> I did I had "ComObjects.IVideoWindow" and "IVideoWindow". The one in the
> ComObjects directory was the com interface and the other was my dot net
> wrapper for it.
>
>>> Namespaces.
>>
>> This may come in handy. We'll (eventually) see.
>
> It's good for large projects.
>
>> VB5/6s Extender object is a pain. Poking around the dotnet groups, I see
>> there are many problems with dotnet usercontrols as well. Maybe, once
>> they're running and working properly, you can benefit from the lack of
>> this "wrapper" but, until then, you're struggling to just get them to
>> work. In VB6, creating a usercontrol is just too easy. Especially since
>> VB5/6 ships with the ActiveX Control Interface Wizard, which is the best
>> wizard I've seen anywhere (in anything MS sells anyway)
>
> I'm not sure what it is about controls that is hard, I thought they worked
> quite well. Some of the features can be a little more difficult because
> you need to work out which attribute to apply, eg the DesignerVisible
> attribute
>
> [DesignerVisible = false]
> Public property get WhatEver
> End Property

So.... you're admitting that there's more typing involved in .Net eh? <g>
Everything that VB6 does "behind the scenes", takes code in .Net. One
benefit to that, I guess, would be greater control. One major drawback to
that is.... newbies are going to have an even harder time.

>>> Usercontrols don't need to readProperties and WriteProperties events.
>>
>> They're there.... they may be hidden... but they're there. If they spit
>> out XML all over the place, I'll be ticked.
>
> It uses XML for binary properties such as an icon but other properties are
> just added as code the form hosting the control.

I've seen enough references to the letters "XML" to last me a life time.

>>> 2 or more breakpoints on the one line.
>>
>> Strange.
>
> It's handy for code like "if x < 0 then x = 0" you can breakpoint on the x
> = 0  part or the if part.

I never, ever use single line If/then statements. I haven't since Quick
Basic 4. When I find them in an app, I convert them to blocks.

>>> XCopy install once the framework in installed.
>>
>> Not impressed. Installshield works quite well.
>
> True, although NSIS is better ;-)

I've downloaded NSIS at least 10 times now and have never actually installed
it. I'm so used to InstallShield that I naturally grab that when it's time
to create a package. I haven't seen a better dependency scanner that
InstallShield has. No source/projects required.... Just fire up
InstallShield and tell it to keep track of everything your app loads while
it's running, launch the app from within InstallShield, when you're done,
exit the app and return to InstallShield. Everything your app loaded will be
presented in a list you can add to/remove from. Pretty darned easy imo.

>>> I could keep going and going. I understand it's not such a difference as
>>> between asp and aspx but it's still a pretty big difference.
>>
>> No need.... no interest <g>
>
> You asked :-)

No interest in the ASP vs ASPX comparison. There's no contest. Script vs
Compiled. No need to say more.

> Michael


--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
28 Oct 2005 5:38 PM
Larry Serflaten
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote

> > They can turn a service off.
>
> LOL.... most users have no idea what a service is, so forget about them
> being able to find them in the control panel and turn them off... as a
> matter of fact, I've been searching for a site that tells me which services
> I can turn off myself to get better performance.... actually, I'd like to
> turn all of them off except the ones that are absolutely necessary to run
> Windows.

Have you seen this?

http://www.microsoft.com/windows2000/techinfo/howitworks/management/w2kservices.asp

In 2000 I was absolutely shocked to see all the stuff that was loaded in memory
on my new W2K system. I used the page above to whittle the 30 or so default
loaded services down to just 11 needed services.  But alas, a few re-installs later,
I am just too lazy to go through that list again...

LFS
Author
28 Oct 2005 6:10 PM
Mike Williams
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:O3etkW%232FHA.3636@TK2MSFTNGP09.phx.gbl...

> In 2000 I was absolutely shocked to see all the stuff that was loaded
> in memory on my new W2K system. I used the page above to whittle
> the 30 or so default loaded services down to just 11 needed services.

Yeah. It's crazy. I have a basic standalone home computer running WinXP Home
edition and there are almost a hundred services listed as running in
MSConfig. One day I might trim them down myself.

Mike
Author
28 Oct 2005 7:13 PM
Ken Halter
Show quote Hide quote
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:O3etkW%232FHA.3636@TK2MSFTNGP09.phx.gbl...
>
>
> Have you seen this?
>
> http://www.microsoft.com/windows2000/techinfo/howitworks/management/w2kservices.asp
>
> In 2000 I was absolutely shocked to see all the stuff that was loaded in
> memory
> on my new W2K system. I used the page above to whittle the 30 or so
> default
> loaded services down to just 11 needed services.  But alas, a few
> re-installs later,
> I am just too lazy to go through that list again...
>
> LFS

Thanks for that... I'll chew on that this weekend <g> I agree... it's nuts.
Way too many things running.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
28 Oct 2005 5:51 PM
Alfie [UK]
On Fri, 28 Oct 2005 09:44:52 -0700, "Ken Halter"
<Ken_Halter@Use_Sparingly_Hotmail.com> wrote:

>"Michael C" <nospam@nospam.com> wrote in message
>news:OxCLPs12FHA.2268@TK2MSFTNGP15.phx.gbl...
>>
>> They can turn a service off.
>
>LOL.... most users have no idea what a service is, so forget about them
>being able to find them in the control panel and turn them off... as a
>matter of fact, I've been searching for a site that tells me which services
>I can turn off myself to get better performance.... actually, I'd like to
>turn all of them off except the ones that are absolutely necessary to run
>Windows.

Blackviper used to have a good explanation but his site has been in the
rebuild phase for ages, you can see it at
http://web.archive.org/web/20041125015757/www.blackviper.com/WinXP/servicecfg.htm

....also the Elder Geek pages at
http://www.theeldergeek.com/services_guide.htm
--
Alfie
<http://www.delphia.co.uk/>
If they don't have chocolate in heaven, I ain't going.
Author
28 Oct 2005 7:14 PM
Ken Halter
"Alfie [UK]" <m*@privacy.net> wrote in message
news:a4p4m19mpm2b4ou1rr7fpfbggbr6vuouqq@4ax.com...
>
> Blackviper used to have a good explanation but his site has been in the
> rebuild phase for ages, you can see it at
> http://web.archive.org/web/20041125015757/www.blackviper.com/WinXP/servicecfg.htm
>
> ...also the Elder Geek pages at
> http://www.theeldergeek.com/services_guide.htm
> --
> Alfie
> <http://www.delphia.co.uk/>
> If they don't have chocolate in heaven, I ain't going.

Thanks... I'll give those links a try this weekend.

--
Ken Halter - MS-MVP-VB - http://www.vbsight.com
DLL Hell problems? Try ComGuard - http://www.vbsight.com/ComGuard.htm
Please keep all discussions in the groups..
Author
29 Oct 2005 9:04 AM
Michael C
"Ken Halter" <Ken_Halter@Use_Sparingly_Hotmail.com> wrote in message news:%
> Don't need a web service for Auto Updates. There are plenty of Auto Update
> samples on PlanetSourceCode.com, including a couple of "Contest Winners".
> Even the call stack/error reporting doesn't require a service. Just an
> email client. It's a ton of work to do yourself (once it's done though,
> it's done) and wouldn't try to talk someone into doing it. Instead, I'd
> suggest they grab VB Watch from aivosto.com. It has this and much, much
> more (for a price)

A lot of things are possible in vb6, just a lot easier in .net. For example
the call stack requires all sorts of work to get in vb6 where it's just a
simple call in .net.

> Can't tell me that a "super duper" language like B# can't figure out on
> it's own that, to show that variable in a message box, it has to be a
> string representation of that variable.

It's an advantage that it doesn't figure it out itself. This is one of the
best features of .net. It doesn't allow you to write code such as:

Dim X as Long
X = "Some String"

> Simply no interest. <g> Others may like seeing dos windows flashing on and
> off... not me. I started using VB, way back when, to avoid console apps
> while running Windows. Heck... if I wanted console apps, I'd write Quick
> Basic/Assembler apps. Who cares if they're only 16 bit apps... they'd
> still stomp all over anything written for Windows, performance wise.

You're right, I've never used a console app except when testing but it's
still a feature that's there.

> Another way to kill VB. First, release another product called VB, then,
> make it harder for people that do use it to deploy it. Finally, introduce
> service packs and updates that cause unpredictable behavior so the
> users/developers can't trust the results they're getting. Fantastic
> marketting ploy.

The security issue won't just kill vb it will kill any compiled language. I
don't know if it will ever happen but there's a distinct possibility that
extra steps will be required to run unmanaged code.

> The full path doesn't show? Not sure I'm getting the point here.

In vb6 you can have files in directories but that dir tree doesn't show in
the project explorer, every file is still just listed flat under the
project.

> So.... you're admitting that there's more typing involved in .Net eh? <g>
> Everything that VB6 does "behind the scenes", takes code in .Net. One
> benefit to that, I guess, would be greater control. One major drawback to
> that is.... newbies are going to have an even harder time.

Some areas are more difficult and learners probably will have a little more
trouble but that's a trade off for functionality. They have managed to add a
lot more functionality with only a little more complexity.

> I've seen enough references to the letters "XML" to last me a life time.

It's hidden in this case (saving properties for usercontrols)

> I never, ever use single line If/then statements. I haven't since Quick
> Basic 4. When I find them in an app, I convert them to blocks.

If it's simple I keep it on the one line, I don't see anything wrong with
"If X < 0 then X = 0"

> I've downloaded NSIS at least 10 times now and have never actually
> installed it. I'm so used to InstallShield that I naturally grab that when
> it's time to create a package. I haven't seen a better dependency scanner
> that InstallShield has. No source/projects required.... Just fire up
> InstallShield and tell it to keep track of everything your app loads while
> it's running, launch the app from within InstallShield, when you're done,
> exit the app and return to InstallShield. Everything your app loaded will
> be presented in a list you can add to/remove from. Pretty darned easy imo.

NSIS really is pretty good. I've always found InstallShield combersome and
they seem to release a new version every six months that you have to pay a
fortune for.

> No interest in the ASP vs ASPX comparison. There's no contest. Script vs
> Compiled. No need to say more.

I wasn't offering an asp vs aspx comparison. I was saying I could add to the
list of differences for windows apps.

Michael
Author
29 Oct 2005 9:37 AM
Mike Williams
"Michael C" <nospam@nospam.com> wrote in message
news:umzvceG3FHA.472@TK2MSFTNGP15.phx.gbl...

> A lot of things are possible in vb6, just a lot easier in .net.

I suppose so. But there are some nice things missing, too, that in .net you
have to handle yourself. Autoredraw, for example.

Mike
Author
29 Oct 2005 12:06 PM
Michael C
"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
news:djvftt$l2p$1@newsg2.svr.pol.co.uk...
> "Michael C" <nospam@nospam.com> wrote in message
> news:umzvceG3FHA.472@TK2MSFTNGP15.phx.gbl...
>
>> A lot of things are possible in vb6, just a lot easier in .net.
>
> I suppose so. But there are some nice things missing, too, that in .net
> you
> have to handle yourself. Autoredraw, for example.

Autoredraw is quite inefficient and imo should be avoided anyway.

Michael
Author
29 Oct 2005 12:32 PM
J French
Show quote Hide quote
On Sat, 29 Oct 2005 22:06:12 +1000, "Michael C" <nospam@nospam.com>
wrote:

>"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
>news:djvftt$l2p$1@newsg2.svr.pol.co.uk...
>> "Michael C" <nospam@nospam.com> wrote in message
>> news:umzvceG3FHA.472@TK2MSFTNGP15.phx.gbl...

>>> A lot of things are possible in vb6, just a lot easier in .net.

>> I suppose so. But there are some nice things missing, too, that in .net
>> you
>> have to handle yourself. Autoredraw, for example.

>Autoredraw is quite inefficient and imo should be avoided anyway.

That depends entirely on what you are doing.

If you are mixing VB graphics and APIs then it is possibly
inefficient, but I think that generally the WM_PAINT messages do a
certain amount of 'look ahead' to avoid duplicate updates.

One can always get round that by using an invisible PictureBox or even
Bitmap
- in Delphi that is called 'Double Buffered'
- I expect that turns up in VB.NET
Author
29 Oct 2005 4:44 PM
Michael C
"J French" <erew***@nowhere.uk> wrote in message
news:43636a1e.108573513@news.btopenworld.com...
> If you are mixing VB graphics and APIs then it is possibly
> inefficient, but I think that generally the WM_PAINT messages do a
> certain amount of 'look ahead' to avoid duplicate updates.

From what I've seen they just do the exact same paint operation in every
WM_PAINT message.

Michael
Author
29 Oct 2005 12:53 PM
Mike Williams
"Michael C" <nospam@nospam.com> wrote in message
news:ucSOjEI3FHA.3296@TK2MSFTNGP09.phx.gbl...

> Autoredraw is quite inefficient and imo should be avoided anyway.

Depends what you use it for. Everything is inefficient if you use it in the
wrong way to perform the wrong task! The VB Autoredraw system gives you
extremely easy access to a memory device context into which you can draw
whetever you want using the various API routines. The system won't dump your
drawing to the display until you specifically tell it to do so. What's
inefficient about that?

Mike
Author
29 Oct 2005 4:47 PM
Michael C
"Mike Williams" <M***@WhiskyAndCoke.com> wrote in message
news:djvrd4$ju8$1@newsg3.svr.pol.co.uk...
> Depends what you use it for. Everything is inefficient if you use it in
> the wrong way to perform the wrong task! The VB Autoredraw system gives
> you extremely easy access to a memory device context into which you can
> draw whetever you want using the various API routines. The system won't
> dump your drawing to the display until you specifically tell it to do so.
> What's inefficient about that?

It's inefficient because you've got a copy of what's on screen in memory.
Unless what you're drawing is too complicated you may as well just draw it
straight to the screen.

BTW, I think dot net does have double buffer using the SetControlStyle
function.

Michael
Author
29 Oct 2005 6:09 PM
Mike Williams
"Michael C" <nospam@nospam.com> wrote in message
news:%234KanhK3FHA.2816@tk2msftngp13.phx.gbl...

> It's inefficient because you've got a copy of what's on screen
> in memory. Unless what you're drawing is too complicated you
> may as well just draw it straight to the screen.

Okay. So write me some code to display a dozen or so "transparently drawn"
randomly moving sprites over a background image without having a copy of
your drawing in memory. I'll have another look on the group later tonight to
see what you come up with.

Mike
Author
30 Oct 2005 2:42 AM
Michael C
"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
news:dk0du5$cpv$1@newsg2.svr.pol.co.uk...
> Okay. So write me some code to display a dozen or so "transparently drawn"
> randomly moving sprites over a background image without having a copy of
> your drawing in memory. I'll have another look on the group later tonight
> to
> see what you come up with.

Ok, here's a very rough example. You need to click the command button to
make the test image transparent and you can move it around with the mouse.
It's hard coded to 15 pixels per twip so you'll probably get odd results if
using large fonts.

http://www.mikesdriveway.com/misc/sprites.zip

Note this is pretty rough and took me a total of 37 minutes, with a little
more work it could be done a lot better. I had to have the command button
because the pixel command didn't work in Form_Load but I'm sure that would
be easy to solve.

Michael
Author
30 Oct 2005 6:13 AM
Larry Serflaten
"Michael C" <nospam@nospam.com> wrote
> > Okay. So write me some code to display a dozen or so "transparently drawn"
> > randomly moving sprites over a background image without having a copy of
> > your drawing in memory. I'll have another look on the group later tonight
> > to
> > see what you come up with.
>
> Ok, here's a very rough example.

That example has a copy of the background image kept in memory.  Even though
you have not set Autoredraw on the form, VB has created a copy of the image in
memory (eg. the Image property).  That can easily be shown using the following
code:

Private Sub Form_Load()
  Show
  ForeColor = vbWhite
  DrawWidth = 8
  Circle (800, 800), 450
End Sub

There has to be a copy of the form's background image so that it can be re-painted
whenever the user resizes the form.  If you size the form smaller than the image, then
re-size it to larger than the image, the system is able to restore the full image.  Do that
with the above circle showing and it does not redraw the circle because that circle was
not a part of the picture you assigned to the Picture property....

From VB Help on the Image property:

"An Image value exists regardless of the setting for the AutoRedraw property."

With AutoRedraw set to true, you get access to the Image, otherwise you normally
don't.  For an illuminating example, check out the result of this bit of code added
to your original form, and see how it responds:

Private Sub Form_Load()
  ForeColor = vbWhite
  DrawWidth = 8
  AutoRedraw = True
  Circle (800, 800), 450
  AutoRedraw = False
  SavePicture Me.Picture, "D:\temp\Form1Picture.bmp"  ' ~ 48K
  SavePicture Me.Image, "D:\temp\Form1Image.bmp"    ' ~ 2.3 M
End Sub


LFS
Author
30 Oct 2005 7:19 AM
Michael C
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:OrMnggR3FHA.3732@TK2MSFTNGP15.phx.gbl...
> That example has a copy of the background image kept in memory.  Even
> though
> you have not set Autoredraw on the form, VB has created a copy of the
> image in
> memory (eg. the Image property).  That can easily be shown using the
> following
> code:

Yes it's got a copy in memory but the point is it has *one* copy.

> There has to be a copy of the form's background image so that it can be
> re-painted
> whenever the user resizes the form.  If you size the form smaller than the
> image, then
> re-size it to larger than the image, the system is able to restore the
> full image.  Do that
> with the above circle showing and it does not redraw the circle because
> that circle was
> not a part of the picture you assigned to the Picture property....

This I know.

> From VB Help on the Image property:
>
> "An Image value exists regardless of the setting for the AutoRedraw
> property."
>
> With AutoRedraw set to true, you get access to the Image, otherwise you
> normally
> don't.  For an illuminating example, check out the result of this bit of
> code added
> to your original form, and see how it responds:

With autoredraw set to true you'd have 2 copies of the bitmap in memory plus
any extra space on the form wasting memor. This would defeat the purpose of
what I was trying to do in the first place. Although I wouldn't have
normally put the bitmap into the picture property.

Michael
Author
30 Oct 2005 12:08 PM
Larry Serflaten
"Michael C" <nospam@nospam.com> wrote
>
> Yes it's got a copy in memory but the point is it has *one* copy.

Well, the challenge was to use no copies....

> With autoredraw set to true you'd have 2 copies of the bitmap in memory plus
> any extra space on the form wasting memor.

How would you demonstrate that?  As I pointed out, VB's own help files say
there is an Image value to the form no matter what the AutoRedraw setting.  We
agree there, but no where have I found where it says you get a second copy when
AutoRedraw is set to True.  As I indicated, only when you set AutoRedraw to True
can you actually write to that Image bitmap.  It is there with or without AutoRedraw
set, so how is using AutoRedraw inefficient?  Set one way you access the screen, and
set another you access the persistant graphic, both are present regaurdless of what
the setting is...  I'd have to see proof of your '2nd' copy' before I go along with that....

Can you demonstrate there is a 2nd copy?

LFS
Author
31 Oct 2005 2:33 PM
Michael C
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:OP0dvmU3FHA.1416@TK2MSFTNGP09.phx.gbl...
> Well, the challenge was to use no copies....

You can't use no copies, you have to have it somewhere. :-)

> How would you demonstrate that?  As I pointed out, VB's own help files say
> there is an Image value to the form no matter what the AutoRedraw setting.

But it would be nothing.

Show quoteHide quote
> We
> agree there, but no where have I found where it says you get a second copy
> when
> AutoRedraw is set to True.  As I indicated, only when you set AutoRedraw
> to True
> can you actually write to that Image bitmap.  It is there with or without
> AutoRedraw
> set, so how is using AutoRedraw inefficient?  Set one way you access the
> screen, and
> set another you access the persistant graphic, both are present
> regaurdless of what
> the setting is...  I'd have to see proof of your '2nd' copy' before I go
> along with that....
>
> Can you demonstrate there is a 2nd copy?

I really should have said additional copy. You can test this by loading a
form with autoredraw set to true and watching how much memory it uses.

Michael
Author
31 Oct 2005 8:00 PM
Larry Serflaten
"Michael C" <nospam@nospam.com> wrote

> > How would you demonstrate that?  As I pointed out, VB's own help files say
> > there is an Image value to the form no matter what the AutoRedraw setting.
>
> But it would be nothing.

Not so, it is still present as my earlier post showed:

Private Sub Command1_Click()
  Picture1.BackColor = vbBlack
  Picture1.Circle (400, 400), 300, vbWhite
  Me.Picture = Picture1.Image
End Sub

If the Image property is Nothing, then what gets assigned to the form?

> I really should have said additional copy. You can test this by loading a
> form with autoredraw set to true and watching how much memory it uses.

It uses the same amount as a form without AutoRedraw set.

We may be seeing a difference in versions here, if you actually get Nothing
for the Image property in the example above.  In VB5 the TypeName returned
for the Image property (with AutoRedraw unchanged (false)) is "Picture".

If it was actually Nothing then the form should not be affected, but in my case
it gets the black background, as indicated in my earlier post....

LFS
Author
30 Oct 2005 10:03 AM
J French
On Sun, 30 Oct 2005 01:13:31 -0500, "Larry Serflaten"
<serfla***@usinternet.com> wrote:

Show quoteHide quote
>
>"Michael C" <nospam@nospam.com> wrote
>> > Okay. So write me some code to display a dozen or so "transparently drawn"
>> > randomly moving sprites over a background image without having a copy of
>> > your drawing in memory. I'll have another look on the group later tonight
>> > to
>> > see what you come up with.
>>
>> Ok, here's a very rough example.

>That example has a copy of the background image kept in memory.  Even though
>you have not set Autoredraw on the form, VB has created a copy of the image in
>memory (eg. the Image property).  That can easily be shown using the following
>code:

>Private Sub Form_Load()
>  Show
>  ForeColor = vbWhite
>  DrawWidth = 8
>  Circle (800, 800), 450
>End Sub

>There has to be a copy of the form's background image so that it can be re-painted
>whenever the user resizes the form. 

In VB5 resizing the Form down loses bits of the circle
- minimizing, then maximizing loses the lot
- passing another Form over a bit of it also 'erases' bits
- moving/dragging the Form retains the circle, provided it is not
dragged out of view

I don't think that it is the Image property at work, I think that
Windows is 'reading' the screen buffer (or more likely a single copy
of the current screen buffer).
Author
30 Oct 2005 12:21 PM
Larry Serflaten
(seems there a problems tonight..  this is the third attempt, the others were
reported as being rejected...)

Show quoteHide quote
"J French" <erew***@nowhere.uk> wrote

> >There has to be a copy of the form's background image so that it can be re-painted
> >whenever the user resizes the form. 
>
> In VB5 resizing the Form down loses bits of the circle
> - minimizing, then maximizing loses the lot
> - passing another Form over a bit of it also 'erases' bits
> - moving/dragging the Form retains the circle, provided it is not
> dragged out of view
>
> I don't think that it is the Image property at work, I think that
> Windows is 'reading' the screen buffer (or more likely a single copy
> of the current screen buffer).

If the system is not using a second image other than the screen buffer,
then why does the background image remain when the circle gets erased.
Where is that image data (without the circle) coming from?  It is the Image
data, did you see the two .bmp files from the last example?

LFS
Author
30 Oct 2005 8:51 AM
Mike Williams
"Michael C" <nospam@nospam.com> wrote in message
news:Oi7$QuP3FHA.2600@tk2msftngp13.phx.gbl...

> Ok, here's a very rough example. You need to click the command
> button to make the test image transparent and you can move it
> around with the mouse.

Yeah. That's reasonable code if you just want to move a single transparent
sprite manually, but it is *hugely inefficient* and since this "subthread"
was kicked of by you telling me that Autoredraw was inefficient then it
doesn't really help your point. At first sight it looks as though you don't
have to do a lot to move the "sprite" (just change its Left and Top
properties in your MouseMove event), but of course it isn't really like that
in practice. You have to take into account the massive overhead of creating
regions in memory and of forcing the operating system to deal with your
region every  time it needs to move the picture box.



To demonstrate what I mean by the huge inefficiency of your method, I
changed your code slightly so that it creates a user defined number of
similar picture boxes and animates them as sprites (in exactly the way that
you are doing, except it moves them under the control of a timer). If you
remember, my original request was for you to write a program that animated a
dozen or so sprites. I set the animation period to about 15 milliseconds to
give me approximately 66 Hz animation rate and moved the sprites randomly
around the screen, with each one moving exactly one pixel at a time. I am
using a reasonably powerful 3000+ AMD processor with Radeon 9800 graphics
card and the largest number of "sprites" I could animate before the
animation rate dropped below 66 Hz was seven! That's not a lot of sprites,
and it certainly doesn't leave much time for anything else to happen. By the
time I got to a dozen sprites they were moving at only half the desired
speed, at a rate of less than 30 Hz. By the time I got to 35 sprites the
animation rate had dropped to a dreadful one frame per second! Contrast that
to the *seven hundred* or so similarly sized sprites that I can animate at
the full 66 Hz on exactly the same machine using a VB Autoredraw picture box
and you'll see how inefficient your program really is. That's a hundred
times as many sprites as your code can animate at 66 Hz!!! Before my
"Autoredraw picture box" code gets down to one frame per second (which yours
hit at just 35 sprites) I have to be animating more than sixty thousand of
the little buggers using my own code! Your own program would effectively
lock up completely at less than one thousandth of that number of sprites!



Just for a laugh I tried setting your own code to animate 700 sprites
(something which my own code would do with no problems at all at the full
desired 66 Hz animation frame rate). I should have realised it was a "non
runner" when my computer became unresponsive even before I clicked the
button to start the animation! Anyway, on clicking the button my WinXP
machine effectively locked up completely! I did eventually persuade the task
manager to appear (after trying many times) and every single task was shown
as not responding, including the task manager itself! When I finally managed
to get my computer to attempt to turn itself off I was shown loads of
different "not responding" dialogues (at a very slow rate!) and then
eventually, after about ten minutes or so, the machine seemed to give up the
ghost altogether and nothing was happenning. In the end I had "pull the
plug"!



Don't get me wrong, I'm not knocking you in any way. It's just that you
seemed to "jump at me" a little bit when I mentioned VB6 Autoredraw picture
boxes in an earlier message and you seemed to denigrate my use of them by
telling me that Autoredraw was inefficient. I'm merely telling you that,
used properly, the VB Autoredraw system can be very efficient indeed. I
thing you have to agree with is that the ability to animate 700 sprites at a
full 66 Hz animation rate (using the API to draw into a VB Autoredraw
picture box) is a little better than the ability to animate 7 sprites using
your own method!



Mike
Author
30 Oct 2005 8:56 AM
Mike Williams
"Mike Williams" <M***@WhiskyAndCoke.com> wrote in message
news:dk21ip$8ki$1@news8.svr.pol.co.uk...

.. . . sorry. My last post seems to have grown extra large paragraph
spacings. Here it is again, just in case you think you've reach the end of
the message at the first paragraph . . .

Yeah. That's reasonable code if you just want to move a single transparent
sprite manually, but it is *hugely inefficient* and since this "subthread"
was kicked of by you telling me that Autoredraw was inefficient then it
doesn't really help your point. At first sight it looks as though you don't
have to do a lot to move the "sprite" (just change its Left and Top
properties in your MouseMove event), but of course it isn't really like that
in practice. You have to take into account the massive overhead of creating
regions in memory and of forcing the operating system to deal with your
region every  time it needs to move the picture box.

To demonstrate what I mean by the huge inefficiency of your method, I
changed your code slightly so that it creates a user defined number of
similar picture boxes and animates them as sprites (in exactly the way that
you are doing, except it moves them under the control of a timer). If you
remember, my original request was for you to write a program that animated a
dozen or so sprites. I set the animation period to about 15 milliseconds to
give me approximately 66 Hz animation rate and moved the sprites randomly
around the screen, with each one moving exactly one pixel at a time. I am
using a reasonably powerful 3000+ AMD processor with Radeon 9800 graphics
card and the largest number of "sprites" I could animate before the
animation rate dropped below 66 Hz was seven! That's not a lot of sprites,
and it certainly doesn't leave much time for anything else to happen. By the
time I got to a dozen sprites they were moving at only half the desired
speed, at a rate of less than 30 Hz. By the time I got to 35 sprites the
animation rate had dropped to a dreadful one frame per second! Contrast that
to the *seven hundred* or so similarly sized sprites that I can animate at
the full 66 Hz on exactly the same machine using a VB Autoredraw picture box
and you'll see how inefficient your program really is. That's a hundred
times as many sprites as your code can animate at 66 Hz!!! Before my
"Autoredraw picture box" code gets down to one frame per second (which yours
hit at just 35 sprites) I have to be animating more than sixty thousand of
the little buggers using my own code! Your own program would effectively
lock up completely at less than one thousandth of that number of sprites!

Just for a laugh I tried setting your own code to animate 700 sprites
(something which my own code would do with no problems at all at the full
desired 66 Hz animation frame rate). I should have realised it was a "non
runner" when my computer became unresponsive even before I clicked the
button to start the animation! Anyway, on clicking the button my WinXP
machine effectively locked up completely! I did eventually persuade the task
manager to appear (after trying many times) and every single task was shown
as not responding, including the task manager itself! When I finally managed
to get my computer to attempt to turn itself off I was shown loads of
different "not responding" dialogues (at a very slow rate!) and then
eventually, after about ten minutes or so, the machine seemed to give up the
ghost altogether and nothing was happenning. In the end I had "pull the
plug"!

Don't get me wrong, I'm not knocking you in any way. It's just that you
seemed to "jump at me" a little bit when I mentioned VB6 Autoredraw picture
boxes in an earlier message and you seemed to denigrate my use of them by
telling me that Autoredraw was inefficient. I'm merely telling you that,
used properly, the VB Autoredraw system can be very efficient indeed. I
thing you have to agree with is that the ability to animate 700 sprites at a
full 66 Hz animation rate (using the API to draw into a VB Autoredraw
picture box) is a little better than the ability to animate 7 sprites using
your own method!

Mike
Author
30 Oct 2005 9:27 AM
Michael C
"Mike Williams" <M***@WhiskyAndCoke.com> wrote in message
news:dk21ip$8ki$1@news8.svr.pol.co.uk...
> Yeah. That's reasonable code if you just want to move a single transparent
> sprite manually, but it is *hugely inefficient* and since this "subthread"
> was kicked of by you telling me that Autoredraw was inefficient then it
> doesn't really help your point. At first sight it looks as though you
> don't have to do a lot to move the "sprite" (just change its Left and Top
> properties in your MouseMove event), but of course it isn't really like
> that in practice. You have to take into account the massive overhead of
> creating regions in memory and of forcing the operating system to deal
> with your region every  time it needs to move the picture box.

As I said it was a rough example to prove it was possible, there are many
ways to do things. I wrote this code in a little over a half hour never
having done anything similar before (I've done lots of userdrawing before
but always windowsy stuff). This code is probably highly inefficient because
it creates the regions pixel by pixel. To use this quick hack as some sort
of comparison to code you've spent hours optimising is a little silly.

That being said, in this sort of case I probably would use double buffering,
which is why I said in my previous post "Unless what you're drawing is too
complicated you may as well just draw it straight to the screen."

Getting back to the original point that dot net doesn't support autoredraw,
it actually has far superior support. You can create in memory bitmaps of
any size and draw them in the WM_PAINT message. You can create these bitmaps
of any number and size or create them just for painting and destroy them
immediately. Much better than just flicking on the autoredraw property that
uses large amounts of memory. It might work well for one app but imagine if
every programmer used it. :-)

Michael
Author
30 Oct 2005 7:30 PM
Larry Serflaten
"Michael C" <nospam@nospam.com> wrote

> Getting back to the original point that dot net doesn't support autoredraw,
> it actually has far superior support.

How about attempting to do some simple drawing functions, like a rubberband
box?  Have you compared the code?  (Try to emulate the demo below....)

> You can create in memory bitmaps of  any size and draw them in the
> WM_PAINT message. You can create these bitmaps of any number and size
> or create them just for painting and destroy them immediately. Much better than
> just flicking on the autoredraw property that uses large amounts of memory.

Would you care to demonstrate how making a new bitmap the size of a picture
box in every paint event is going to use LESS memory than a single image held
in memory?  You don't even get control over the destruction of those bitmaps
and have to rely on the garbage collector to destroy them at some later time.
It seems to me that would use far more memory.  10 or 15 bitmaps (or more)
waiting to be cleaned up, compared to one persistant bitmap.  It seems a
no-brainer to me which uses the more memory....

Can you write some 'far superior' VB.Net code to do something as simple as
a rubberband box?  For an example, this has always been easy to do in VB:

LFS

Option Explicit
Private MX As Long, MY As Long
Private OX As Long, OY As Long

Private Sub Form_Load()
  Move Left, Top, 6300, 6600
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MX = X
  MY = Y
  OX = X
  OY = Y
  DrawWidth = 5
  DrawMode = vbXorPen
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = vbLeftButton Then
    Line (MX, MY)-(OX, OY), vbWhite, B
    OX = X
    OY = Y
    Line (MX, MY)-(OX, OY), vbWhite, B
  End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Line (MX, MY)-(OX, OY), vbWhite, B
  DrawMode = vbCopyPen
  Line (MX, MY)-(X, Y), vbBlack, B
End Sub

Private Sub Form_Paint()
Dim sz As Long
  DrawWidth = 3
  DrawMode = vbCopyPen
  Line (30, 30)-Step(6000, 6000), vbWhite, B
  DrawWidth = 30
  For sz = 40 To 2100 Step 900
    Circle (3000, 3000), sz, vbWhite
    Circle (3000, 3000), sz + 450, vbRed
  Next
End Sub
Author
30 Oct 2005 8:30 PM
Michael C
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:u3PU3dY3FHA.3880@TK2MSFTNGP12.phx.gbl...
> How about attempting to do some simple drawing functions, like a
> rubberband
> box?  Have you compared the code?  (Try to emulate the demo below....)

Very easy but to be honest I couldn't be bothered. This is just simple
drawing commands so I don't see why it wouldn't be easy.

> Would you care to demonstrate how making a new bitmap the size of a
> picture
> box in every paint event is going to use LESS memory than a single image
> held
> in memory?  You don't even get control over the destruction of those
> bitmaps
> and have to rely on the garbage collector to destroy them at some later
> time.

That's not correct, you can call Bitmap.Dispose to remove it from memory
immegiately.

> It seems to me that would use far more memory.  10 or 15 bitmaps (or more)
> waiting to be cleaned up, compared to one persistant bitmap.  It seems a
> no-brainer to me which uses the more memory....

Having the bitmap in memory for a short period of time is much better than
having it there permanently.

> Can you write some 'far superior' VB.Net code to do something as simple as
> a rubberband box?  For an example, this has always been easy to do in VB:

The line command and circle command are just calling the windows API
functions. Dot net has much greater support for the the basic windows
drawing functions natively. For example you can create brush and pen objects
natively.

Michael
Author
30 Oct 2005 8:55 PM
Mike Williams
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:eanQVCZ3FHA.632@TK2MSFTNGP10.phx.gbl...

> Having the bitmap in memory for a short period of time is
> much better than having it there permanently.

So. What's your point? You can have a bitmap in memory for as long or as
short a time as you want using VB6. And keeping a bitmap in memory for the
period of time you are actually using it is essential whatever language you
are using. You can hardly delete a bitmap that you are actually using! It
just would not make sense, and it would prevent your program from working!
Just what point are you trying to make here? If you are saying that you
should *always* delete a bitmap as soon as you have used it then that
implies you will need to create it and  initialise it and fill it with its
bitmap data again the next time you wish to use it. If such a bitmap
(containing a picture for example) is being used repeatedly at a rate of
perhaps 60 "uses per second" then it makes sense to keep it in memory
permanently, or at least until you cease to use it at such a rate. If it is
not in memory then where are you going to keep it? On a disk! Then load it
from disk again a sixtieth of a second later! Behave yourself! The mind
boggles!

Mike
Author
30 Oct 2005 10:26 PM
Michael C
Show quote Hide quote
"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
news:dk3c19$61p$1@news6.svr.pol.co.uk...
> So. What's your point? You can have a bitmap in memory for as long or as
> short a time as you want using VB6. And keeping a bitmap in memory for the
> period of time you are actually using it is essential whatever language
> you
> are using. You can hardly delete a bitmap that you are actually using! It
> just would not make sense, and it would prevent your program from working!
> Just what point are you trying to make here? If you are saying that you
> should *always* delete a bitmap as soon as you have used it then that
> implies you will need to create it and  initialise it and fill it with its
> bitmap data again the next time you wish to use it. If such a bitmap
> (containing a picture for example) is being used repeatedly at a rate of
> perhaps 60 "uses per second" then it makes sense to keep it in memory
> permanently, or at least until you cease to use it at such a rate. If it
> is
> not in memory then where are you going to keep it? On a disk! Then load it
> from disk again a sixtieth of a second later! Behave yourself! The mind
> boggles!

Chill out mike. All I'm saying is that it is possible to destroy the bitmap
in dot net. It was just one advantage. You can't do that with autoredraw,
unless you turn the property on and off? :-)

Michael
Author
31 Oct 2005 10:43 AM
Mike Williams
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote in message
news:%23Y4hlDa3FHA.3000@TK2MSFTNGP12.phx.gbl...

> Chill out mike. All I'm saying is that it is possible to destroy
> the bitmap in dot net.

It is possible to destroy bitmaps in VB6! You need to use the API to do it
of course in VB6, but the routines you need to use are so simple that it is
hardly any more bother than using the built in functions in dot net. The
thing is, in VB6 you get a choice. You can create and use and destroy your
bitmaps manually (in much the same way as you can in dot net) or you can use
the semi automated VB6 Autoredraw picture box. VB6 gives you the best of
both worlds.

> It was just one advantage [destroying a bitmap]. You can't do
> that with autoredraw, unless you turn the property on and off? :-)

Yes you can. You can get a handle to the bitmap referenced by the DC and you
can delete that bitmap if you wish to. It wouldn't make much sense of course
if you still wanted to use it, because you could not then actually use the
Autoredraw property effectively because its bitmap would no longer exist.
However, the same applies to your bitmap in dot net. You can destroy it, as
you have said, but you can't use it after you have destroyed it! Not unless
you create another one. The basic thing is the simple fact that if you need
a bitmap for some purpose then a VB6 Autoredraw bitmap will take up only the
same amount of memory as a similar sized bitmap you create in dot net or as
a similar bitmap that you create using the API in VB6. Bitmaps (and the
ability to create and manipulate and destroy them at will) are not exclusive
to dot net!

Mike
Author
31 Oct 2005 1:02 PM
Michael C
"Mike Williams" <m***@WhiskyAndCoke.com> wrote in message
news:dk4sil$vn$1@newsg1.svr.pol.co.uk...
> It is possible to destroy bitmaps in VB6! You need to use the API to do it
> of course in VB6, but the routines you need to use are so simple that it
> is
> hardly any more bother than using the built in functions in dot net. The
> thing is, in VB6 you get a choice. You can create and use and destroy your
> bitmaps manually (in much the same way as you can in dot net) or you can
> use
> the semi automated VB6 Autoredraw picture box. VB6 gives you the best of
> both worlds.

I was talking about the bitmap that vb6 keeps for the autoredraw.

Show quoteHide quote
> Yes you can. You can get a handle to the bitmap referenced by the DC and
> you
> can delete that bitmap if you wish to. It wouldn't make much sense of
> course
> if you still wanted to use it, because you could not then actually use the
> Autoredraw property effectively because its bitmap would no longer exist.
> However, the same applies to your bitmap in dot net. You can destroy it,
> as
> you have said, but you can't use it after you have destroyed it! Not
> unless
> you create another one. The basic thing is the simple fact that if you
> need
> a bitmap for some purpose then a VB6 Autoredraw bitmap will take up only
> the
> same amount of memory as a similar sized bitmap you create in dot net or
> as
> a similar bitmap that you create using the API in VB6. Bitmaps (and the
> ability to create and manipulate and destroy them at will) are not
> exclusive
> to dot net!

It's getting pretty hacky in vb6 to do all that, using bitmaps and DC isn't
all that easy. You can do all this natively in .net.

Michael
Author
30 Oct 2005 9:54 PM
Larry Serflaten
"Michael C" <mculley@NOSPAMoptushome.com.au> wrote

> > How about attempting to do some simple drawing functions, like a
> > rubberband
> > box?  Have you compared the code?  (Try to emulate the demo below....)
>
> Very easy but to be honest I couldn't be bothered. This is just simple
> drawing commands so I don't see why it wouldn't be easy.

No, VB makes it look easy, but in actuality, you'd have a difficult time
trying to accomplish the exact same thing in VB.Net.  Specifically, what
PenType can you use that will combine the destination bits with the pen
bits in an XOR fashion?  Its not so 'superior' in that respect, it is just a
different model, with a few more features....

LFS
Author
30 Oct 2005 10:28 PM
Michael C
"Larry Serflaten" <serfla***@usinternet.com> wrote in message
news:O$cqPuZ3FHA.3360@TK2MSFTNGP10.phx.gbl...
> No, VB makes it look easy, but in actuality, you'd have a difficult time
> trying to accomplish the exact same thing in VB.Net.  Specifically, what
> PenType can you use that will combine the destination bits with the pen
> bits in an XOR fashion?

That looks like something they've left out for some reason but maybe I just
can't find it.

> Its not so 'superior' in that respect, it is just a
> different model, with a few more features....

More features = superior doesn't it? :-)

Michael
Author
31 Oct 2005 12:45 AM
Jim Carlock
"Michael C" <mculley@NOSPAMoptushome.com.au> posted:
> More features = superior doesn't it? :-)

No...

Examples whereby you'll not appreciate "more features"...

A TV with 50,000 television stations.

A remote TV control with 500 buttons.

A restaurant menu with more than a 100 different foods
listed. Most menus tend to limit themselves to 20 or 30
different items. The cook's memory and the waitress's
ability to recall the item ordered could be the limiting
factors. However, a menu on a small handheld computer
with keyboards that swing down to the table for every
customer at the table, might be worth patenting and
selling...

Any item with 10 buttons which all do the same thing. To
illustrate, ask yourself why 4 extra "shift" buttons on your
keyboard would be a "feature". Ask yourself if you ever use
the right hand to hit the "shift" button. That might not be
quite a great example, because I guess I've used the right
a few times (maybe in Wolfenstein), but not as much as I
use the left one. In fact, demonstrate to yourself by carefully
observing which hand hits the shift key. In essence, only 2
are reasonably used. But some kids out there might get
happy because they have 6 shift keys. Go figure.

How many buttons do you need on a blinker? Sometimes
more features may result in a distraction which causes
accidents.

How many ashtrays do you need? In my case one ashtray
is too many and unappreciated. ;-) It's definitely not an
added feature to me. In fact, it would be a benefit to put
something else in the place of the ashtray... perhaps an
amplifier or a radar detector or a cloaking system. ;-)

Now, some examples of products that have more features,
NOT necessarily better because of the features...

An "added feature" is only better if the feature is a "better
feature". Salespeople try to convince you all features are
better.

1) Windows XP. For some, the new advanced Search system
   in Explorer might be a benefit. Examples of added features
   that in no way benefit me (or anyone?)...
   a) Search, searching the contents of files of only a few extensions.
   b) Explorer, changing the way the contents of the
      %userprofile%\Temporary Internet Files
      gets viewed, without a way to turn such added features off.
   c) SuperHidden files. What kind of feature is the SuperHidden
      feature? Have fun examining this one.
   d) The XP help system. The help system fails to help at times.
      In fact, Microsoft seems to have added the prettiest help
      system rather than the most advantageous help system.
2) Windows Me.
3) Microsoft .Net.

Some generic cases where offering more features tends to
create confusion...

1) Creating 10 different ways to present vbCrLf, eg...
vbCrLf
vbCr
vbLfCr
vbLf
CR
CRLF
LFCR
LF
eCRLF
eLFCR

....if the compiler supports different variables based upon
case, it's an added feature, not necessarily a better feature...

VBCRLF
vBCRLF
vbCRLF

and so on.

Sales people argue "more features" means a "better product".
A common pitch... "There are so many features I can't show
them all..."

Hope this helps.

--
Jim Carlock
Post replies to the newsgroup, thanks.
Author
31 Oct 2005 2:10 AM
Michael C
"Jim Carlock" <anonymous@localhost> wrote in message
news:OXGjiRb3FHA.3628@TK2MSFTNGP12.phx.gbl...
> Sales people argue "more features" means a "better product".
> A common pitch... "There are so many features I can't show
> them all..."
>
> Hope this helps.

Friggen hell Jim, why use one sentence when you can use 500 :-) Of course
the extra features have to be worthwhile but we are far from having too many
features even in C#. It's a bit different to ordering in a restaurant, you
don't need 100 items on them menu but when programming you need the
features.

Michael
Author
30 Oct 2005 2:39 PM
Mike Williams
"Michael C" <nospam@nospam.com> wrote in message
news:Oi7$QuP3FHA.2600@tk2msftngp13.phx.gbl

> As I said it was a rough example to prove it was possible,
> there are many ways to do things. I wrote this code in a little
> over a half hour never having done anything similar before

Don't worry about it. We're not in a competition. It is just that you seemed
to be telling me that VB Autoredraw picture boxes are very inefficient, and
I wanted to show you that they are not.

> My code is probably highly inefficient because
> it creates the regions pixel by pixel.

It wouldn't matter how you created the regions. It would still be highly
inefficient. Yes. You could create them differently in a number of different
ways (by looking for little unbroken lines of "regions" instead of
individual pixels, for example) but whatever you do you will still end up
with a region that controls the display and transparency of your sprite, and
that is going to be extremely inefficient whatever method you use to create
the region.

> To use this quick hack as some sort of comparison to
> code you've spent hours optimising is a little silly.

I'm not comparing the two methods in that way. Of course it took me many
hours to come up with a fast sprite drawing routine using a VB Autoredraw
picture box, and of course I know that there are other ways of doing it. I
just wanted to show you that the Autoredraw picture box way is *not*
inefficient, as you had suggested. I also know that your own code was
written in a very short time, but the fact is that you can optimise your own
"create regions" method until you are blue in the face, you can spend months
or even years on it if you wish, and using the method you are currently
using you won't come up with anything that is anywhere near as fast as a VB
Autoredraw picture box method. There are of course other ways of doing the
same job (and some of them are faster, notably DirectX methods for example),
but a VB Autoredraw picture box is still an extremely good way of doing it.

> You can create these bitmaps [in VB.Net] of any number and size

You can create memory bitmaps using Classic VB. The Autoredraw picture box
merely gives you an easy and convenient way of creating one, together with
the device context that goes with it. You need the device context anyway to
draw into a bitmap, and this is just as true under VB.Net as it is under
Classic VB. You can, of course, dump raw data into a memory bitmap without
it being connected to a device context using either VB Classic or VB.Net,
but this is of limited use for general drawing purposes.

> Getting back to the original point that dot net doesn't
> support autoredraw, it actually has far superior support.
> You can create in memory bitmaps of any size and draw
> them in the WM_PAINT message. You can create these bitmaps
> of any number and size or create them just for painting
> and destroy them immediately.

You can't destroy them immediately if you're actually using them! You need
them to exist for as long as you wish to use them. Unless you're suggesting
that you should create a bitmap on the fly for every frame and then destroy
it immediately and create it again for the next frame? Your surely not
suggesting that are you?

> Much better than just flicking on the autoredraw
> property that uses large amounts of memory.

Now you've really lost me! Where are you putting these bitmaps you create
under VB.Net if you aren't putting them in memory? The mind boggles! A
bitmap created under VB.Net will take up just as much memory as a bitmap
created under classic VB. Besides, you don't need VB.Net to create a memory
bitmap! You can do it using any programming language, including VB
Classic.VB.Net just puts wrappers around the various API routines in much
the same way as does classic VB. The wrappers themselves might be different,
but what's wrapped up in them is much the same!

> You can create these bitmaps [using VB.Net] of any
> number and size or create them just for painting and
> destroy them immediately.

You can do exactly the same in Classic VB. You can create as many memory
bitmaps as you wish of any size you require and you can then destroy them
whenever you want to. You can do so without any controls whatsoever, without
even using a VB Form if you want (just a code module and nothing else).
There's nothing special in that. You can also destroy the device contexts
created by VB Autoredraw picture boxes if you want to. What have you got
against them?

> It might work well for one app but imagine
> if every programmer used it. :-)

You have to prove a point before you can make statements like that, and you
haven't even come close to proving your point.

Mike
Author
30 Oct 2005 8:54 PM
Michael C
"Mike Williams" <M***@WhiskyAndCoke.com> wrote in message
news:dk2lul$8mc$1@news7.svr.pol.co.uk...
> Don't worry about it. We're not in a competition. It is just that you
> seemed to be telling me that VB Autoredraw picture boxes are very
> inefficient, and I wanted to show you that they are not.

The reason I said they are inefficient is that a lot of people simply switch
the property on and use it without understanding that it can use 6 meg or
more per form.

> It wouldn't matter how you created the regions. It would still be highly
> inefficient. Yes. You could create them differently in a number of
> different ways (by looking for little unbroken lines of "regions" instead
> of individual pixels, for example) but whatever you do you will still end
> up with a region that controls the display and transparency of your
> sprite, and that is going to be extremely inefficient whatever method you
> use to create the region.

But windows regions is only one way to do it, it was just an example. I
could easily find other methods that don't use autoredraw.

> but a VB Autoredraw picture box is still an extremely good way of doing
> it.

I still don't think so. If I was doing what you were doing I would handle it
myself using my own memory DC.

> You can create memory bitmaps using Classic VB.

How? Add a hidden picture box to the form? APIs?

> The Autoredraw picture box merely gives you an easy and convenient way of
> creating one, together with the device context that goes with it. You need
> the device context anyway to draw into a bitmap, and this is just as true
> under VB.Net as it is under Classic VB. You can, of course, dump raw data
> into a memory bitmap without it being connected to a device context using
> either VB Classic or VB.Net, but this is of limited use for general
> drawing purposes.

Not at all, it's extremely useful.

> You can't destroy them immediately if you're actually using them! You need
> them to exist for as long as you wish to use them. Unless you're
> suggesting that you should create a bitmap on the fly for every frame and
> then destroy it immediately and create it again for the next frame? Your
> surely not suggesting that are you?

Absolutely, why not? It's a technique I've used several times and it works
extremely well.

> Now you've really lost me! Where are you putting these bitmaps you create
> under VB.Net if you aren't putting them in memory? The mind boggles!

I'm not exactly sure what you're responding to here. I never said the
bitmaps don't go in memory?!? Maybe you're referring to having the option to
destroy the bitmap?

> A bitmap created under VB.Net will take up just as much memory as a bitmap
> created under classic VB. Besides, you don't need VB.Net to create a
> memory bitmap! You can do it using any programming language, including VB
> Classic.VB.Net just puts wrappers around the various API routines in much
> the same way as does classic VB. The wrappers themselves might be
> different, but what's wrapped up in them is much the same!

Sure you can but in .net it's all native. Bitmaps are difficult to deal with
in api.

> You can do exactly the same in Classic VB. You can create as many memory
> bitmaps as you wish of any size you require and you can then destroy them
> whenever you want to. You can do so without any controls whatsoever,
> without even using a VB Form if you want (just a code module and nothing
> else). There's nothing special in that. You can also destroy the device
> contexts created by VB Autoredraw picture boxes if you want to. What have
> you got against them?

Their large, permanent, no discardable memory use.

> You have to prove a point before you can make statements like that, and
> you haven't even come close to proving your point.

Think about it. Using autoredraw every single form uses 6mb of memory or
more. If every programmer used it the memory use would be huge. The only
reason it works in one app is because everyone else didn't use it. :-)

Michael
Author
30 Oct 2005 6:39 PM
Gary Nelson
Michael,

> The security issue won't just kill vb it will kill any compiled language.
> I don't know if it will ever happen but there's a distinct possibility
> that extra steps will be required to run unmanaged code.

What will that mean for com Interop?

Gary
Author
31 Oct 2005 9:43 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:e%23ckRFY3FHA.3588@TK2MSFTNGP15.phx.gbl...
> What will that mean for com Interop?

Same thing, special permissions will be required if your app uses com
interop or calls any APIs. By default an exe that is run from the network
can't access com or apis already.

Michael
Author
1 Nov 2005 9:01 PM
Gary Nelson
Michael,

>> What will that mean for com Interop?
>
> Same thing, special permissions will be required if your app uses com
> interop or calls any APIs. By default an exe that is run from the network
> can't access com or apis already.

It is interesting that you should mention that. A while back on this thread
I posted the following question to Paul Clement, and he gave me the
following answer.

> ¤ How did you get around the security issues?
>
> What security issues are you referring to? We run some of our components
> in COM+ and some in the web
> application process. The only additional item you need (with a .NET
> client) is the interop assembly.
>
> I haven't encountered any security issues.
>

But as you mention there are security issues using COM Interop. Considering
those security issues, should COM Interop be recomended?

Gary
Author
1 Nov 2005 10:01 PM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23B7mwdy3FHA.1416@TK2MSFTNGP09.phx.gbl...
> But as you mention there are security issues using COM Interop.
> Considering those security issues, should COM Interop be recomended?

If your program is installed to the C drive then you won't have a problem
afaik unless the user specifically denies your app permission. If you're
writing an app that runs from a network drive for some reason, a cd rom or a
webpage then you probably have to avoid using it. If your app is installed
to the C drive I wouldn't recommend avoiding interop, if your app needs
certain functionality then you have to have it. Apparently you can write a
..net dll in C that handles all the interop and sign that dll and it will be
considered 'managed'. I've certainly used plenty of interop in my app.

Michael
Author
1 Nov 2005 10:35 PM
Michael C
"Michael C" <nospam@nospam.com> wrote in message
news:ue0BH$y3FHA.3628@TK2MSFTNGP12.phx.gbl...
> "Gary Nelson" <gn@nospam.com> wrote in message
> news:%23B7mwdy3FHA.1416@TK2MSFTNGP09.phx.gbl...
>> But as you mention there are security issues using COM Interop.
>> Considering those security issues, should COM Interop be recomended?
>
> If your program is installed to the C drive then you won't have a problem
> afaik unless the user specifically denies your app permission. If you're
> writing an app that runs from a network drive for some reason, a cd rom or
> a webpage then you probably have to avoid using it.

Actually that's not true for the network drive, you will get permission
errors but you can warn the user and ask them to change their settings or
programmatically change them if you have permission (probably during the
install).

Michael
Author
2 Nov 2005 7:29 AM
Gary Nelson
Michael,

> If your program is installed to the C drive then you won't have a problem
> afaik unless the user specifically denies your app permission. If you're
> writing an app that runs from a network drive for some reason, a cd rom or
> a webpage then you probably have to avoid using it.

The case in question was a web page using ASP.NET. I understand then, that
you would not recommend using interop from a web page?

Gary
Author
2 Nov 2005 8:34 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:eUCS5833FHA.472@TK2MSFTNGP15.phx.gbl...
> The case in question was a web page using ASP.NET. I understand then, that
> you would not recommend using interop from a web page?

Depends what you mean by from a web page (I realise I've been a bit vague
about this in previous posts). If it's server side code then it's fine
because you can just allocate the required permissions provided you've got
access to the server. If it's a hosting company then they might deny
permissions and it would depend on your host. But if it's client size code
then you've got pretty low chances of being able to run com interop so it's
probably a bad idea to try, certainly you've have to check if you had the
permissions before doing it. I think you can run client side code as a
usercontrol, similar to the way it was possible to host vb6 usercontrols in
web pages or you can run it as an exe that runs directly from the page.

Regards,
Michael
Author
2 Nov 2005 5:41 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:%23B7mwdy3FHA.1416@TK2MSFTNGP09.phx.gbl...
> But as you mention there are security issues using COM Interop.
> Considering those security issues, should COM Interop be recomended?

One other thing I thought of, your program might be denied permission to use
com interop but it could also be denied permission to create a file, delete
a file, access the registry or any number of tasks. So com interop isn't
really that special in that regard.

Michael
Author
2 Nov 2005 7:34 AM
Gary Nelson
Michael,

>> But as you mention there are security issues using COM Interop.
>> Considering those security issues, should COM Interop be recomended?
>
> One other thing I thought of, your program might be denied permission to
> use com interop but it could also be denied permission to create a file,
> delete a file, access the registry or any number of tasks. So com interop
> isn't really that special in that regard.

That's funny, I haven't run into any problems creating files, accessing the
registry, etc. But we did run into trouble using com interop. In fact we
decided that no com interop should be used in our ASP.NET apps.

Gary
Author
2 Nov 2005 8:36 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:uT1wR$33FHA.3244@tk2msftngp13.phx.gbl...
> That's funny, I haven't run into any problems creating files, accessing
> the registry, etc. But we did run into trouble using com interop. In fact
> we decided that no com interop should be used in our ASP.NET apps.

Just go Start-Control Panel-Admin Tools-Microsoft .NET Framework 1.1
Configuration
and turn permissions on if you've got access to the server. The default
permission for asp components must be com interop denied.

Michael
Author
3 Nov 2005 8:54 AM
Gary Nelson
Michael,

>> That's funny, I haven't run into any problems creating files, accessing
>> the registry, etc. But we did run into trouble using com interop. In fact
>> we decided that no com interop should be used in our ASP.NET apps.
>
> Just go Start-Control Panel-Admin Tools-Microsoft .NET Framework 1.1
> Configuration
> and turn permissions on if you've got access to the server. The default
> permission for asp components must be com interop denied.
>

Is that really such a good idea?

Gary
Author
3 Nov 2005 9:03 AM
Michael C
"Gary Nelson" <gn@nospam.com> wrote in message
news:uiEfrQF4FHA.3876@TK2MSFTNGP09.phx.gbl...
> Is that really such a good idea?

If it's your web server then it's fine. You're not giving anyone outside any
greater control unless they manage to get an exe onto your server and
execute it, in which case they'd probably just upload a standard exe anyway.

Michael
Author
26 Oct 2005 8:25 AM
Gary Nelson
Michael,

>> You aren't Dilbert's boss, are you?
>
> Not at all. I remember sitting down with my boss once and he asked me what
> I wanted to do, rewrite a dos app into windows or start a brand new
> project. I said to him are you crazy we've got an instant 500 customers
> for the existing app. We rewrote it and got 400 sales in a few months,
> basically making pretty much every sale the app had ever made again in a
> short space of time (it took a year or 2 for the stragglers). He was most
> happy.

The reference to Dilbert had to do with selling the same clients essentially
the same program just because it was a 'new' version.

Your reference to a port from DOS to Windows does not fit your argument. Our
first Windows version (1992) had substantially LESS funcionality than the
DOS version, none the less, our clients were enthusiastic about it because
of the novelty. If we had brought out a rewritten DOS version with the same
funcionality of the new Windows one, no one would have wanted it. It took
several years to get the Windows program on the par of the old DOS one. If
both had been on the same platform, we could have never made that
transition.

A typical end user is incapable of decting the difference between a .NET
program and a VB6 program. Which means that if you want to make the
transition you must offer something significantly better.

Gary