Jim Hubbard said:
I understand that all things must evolve. They must grow....become better
and stronger or they die. And, usually they do.
Unfortunately, this (discarding VB6 for VB.Net) is one instance where a
company just made a mistake. And, this is the problem with a company like
Microsoft. They CANNOT admit their mistakes.
Sure, they could admit. However, there are so many other ways to choose for
Microsoft which wouldn't mean they admit that they made a huge mistake.
Microsoft could easily continue supporting VB6/VBA and/or create an exact
..NET-based copy of it. But I fear Microsoft doesn't even feel that they
have made a mistake. Although VB6 was a first class product once, Microsoft
makes the big money with other products.
Instead, they bull forward - taking YEARS to try and recover what they
simply tossed in the trash - a simple development language that (although
imperfect like all other programming languages) allowed for massive
application innovation by the masses in a simple, RAD environment. And,
five years later, it's still not back. They've gotten closer.......but
they've also lost the faith of the VB community in the process - ergo the
free VB.Net books and free Express versions of .Net.
They have gotten closer by spending the VB IDE more Office-like toolbar
icons and visual styles? I feel sorry, but I cannot see VB.NET becoming as
simple and easy to use as VB6/VBA was. The typical office guy doesn't need
object-orientation, it's simply oversized. Those people do neither need
VSTO nor server-side Office.
Maybe the whole mistake is caused by Microsoft's misconception that
/everything/ will be connected. ".NET" could be interpreted as standing for
"network" and technologies like Web services etc. clearly go into the
direction of a world where things are connected everywhere. However, in the
real world, only a few parts are connected, only in a part of the scenarios
client/server technology is used. A secretary automating Word to make her
everyday's work easier doesn't even need to know what a server is.
To make a conclusion: Microsoft now tries to fake VB6 on the basis of
VB.NET, which will never succeed. There is still a huge gap between VB6 on
the one hand and VB.NET and C# on the other hand. Note that I do not think
that this gap exists between VB6/COM and .NET as a whole. COM was an
implementation detail of VB6 and .NET could be the basis for a 100 %
code-compatible programming language.
I don't know why Linux hasn't caught on.......God knows I've screamed it
loud enough. Visual Basic (pre-VB.Net) was THE reason for he success of
the Windows platform. Why?
VB allowed part-time programmers (non-professional programmers) as well as
professional programmers to innovate on the Windows platform in a way that
no other programming environment or language ever has (or - God forbid -
ever will).
There's much truth in your words!
Like the fact that the VB community has all but vanished. It is a shell
of its former self. Microsoft has taken so long to even start replacing
the RAD environment that the part-time programmers simply lost interest.
And, the complexities of the .Net language and platforms (compared with
that of Visual Basic 6) means less RAD and more time spent learning
programming that takes away from the PTPs main job (which, in most cases,
was NOT that of programming).
I disagree that .NET is more complex than Win32 and COM were. VB6 provided
a pretty good but unfortunately incomplete wrapper around some of the Win32
and COM stuff. "Microsoft.VisualBasic.dll" shows us that it's pretty simple
to provide almost code-compatible libraries which are internally based on
the .NET Framework. Microsoft often mentioned that .NET was important to
support interoperability between different programming languages, but
miserably failed to upgrade VB6 to make use of it.