Click here to Skip to main content
15,921,905 members
Home / Discussions / Visual Basic
   

Visual Basic

 
GeneralRe: VB6 supported until 2008 Pin
Dave Kreskowiak5-Apr-05 16:41
mveDave Kreskowiak5-Apr-05 16:41 
GeneralRe: VB6 supported until 2008 Pin
David Crow5-Apr-05 16:41
David Crow5-Apr-05 16:41 
GeneralRe: VB6 supported until 2008 Pin
Christian Graus5-Apr-05 16:45
protectorChristian Graus5-Apr-05 16:45 
GeneralRe: VB6 supported until 2008 Pin
Mitch F.5-Apr-05 19:26
Mitch F.5-Apr-05 19:26 
GeneralRe: VB6 supported until 2008 Pin
Christian Graus5-Apr-05 19:43
protectorChristian Graus5-Apr-05 19:43 
GeneralRe: VB6 supported until 2008 Pin
rwestgraham5-Apr-05 19:58
rwestgraham5-Apr-05 19:58 
GeneralRe: VB6 supported until 2008 Pin
Christian Graus5-Apr-05 20:03
protectorChristian Graus5-Apr-05 20:03 
GeneralRe: VB6 supported until 2008 Pin
rwestgraham5-Apr-05 22:21
rwestgraham5-Apr-05 22:21 
Well let me say that ADO.NET is indeed a vast improvement. Security is also nice - something we did not have at all in VB6. There are definitely some advantages to NET. And in general, I am in fact gradualy moving towards developing all my applications on NET. But I'm still using VB6 too, as are many developers.

But I'm still not all that impressed with many aspects of NET. If I put VB6 beside VB.NET I don't exactly see a lump of coal and a diamond. I see two different rocks.

I'll address the questions you pose. Not in the same order, but I think by the end I cover the issues raised.

First let me rebut some of the common arguments against VB6. The most common one favored by VB bashers was that it was not an "OOP" language because it did not support inheritence. This is a favorite argument but one of highly questionable validity.

VB6 did not support inheritencve, but it did support interface implementation.

So let's consider what some of the great minds of OOP have said. Gamma et al used mainly C++ and SmallTalk. Both support inheritence. But Gamma et al also explicitly stated that interface programming was always the preferred method because it allowed looser coupling, and that inheritence should be avoided when possible. Apparantly a lot of the people who rabidly attacked the OOP capabilities of VB6 also never bothered to study the classics of the OOP methodolgy they professed to rever. Smile | :)

And some of the great minds of Microsoft technology, most notably Matthew Curland have also pointed out that inheritence was a practice full of pitfalls and also best avoided.

Now, the real OOP issue with VB6 in terms of OOP was never the constant drivel of VB bashers about no inheritence, That was just the party propaganda mantra repeated ad nauseum by VB haters. The real OOP flaw in VB6 was the lack of support for true constructors/destructors. But a skilled programmer could mitigate most of these issues in VB6 by use of factory methods.

So basically, in terms of the core programming of classes - business objects, the most important single area of code implementation - NET offers only minor improvements - real constructors. But VB6 was also quite capable of supporting the majority of classical OOP methodologies and design patterns in the hands of a skilled programmer.


Now, in terms of true flaws of VB6: many inconsistencies in the GUI controls properties and implementations.

NET has the same problem. They inherit from the same basic classes but the derived classes frequently do not implement expected properties.

Just a few examples off the top of my head:

--------------------------------------------------------------------------------------------------------

The Button, CheckBox, and RadioButton all derive from the common ButtonBase base class. However the CheckBox does NOT support the PerformClick method.

The ComboBox does not support the TextLength property, even though it does support other properties for text manipulation in it’s textbox area which are common to the TextBox control.

NumericUpDown does not support wrapping. The DomainUpDown supports wrapping.

Why not? Of course, obviously these are not major issues. But it is still the same sort of inconsistent implementation of controls we had in VB6. Not critical, but very annoying.

But here is one that sucks: Tab Page Visible property has no effect. Many applications have dialogs that expose certain options on Tab Pages but not others depending on the user's privilige levels. In VB NET we cannot just hide the tabs accordingly., By virtue of inheritence from thed base Control class, a Visible property is exposed. It's there, it just does not work. And I can see no technical reason why it should not.

--------------------------------------------------------------------------------------------------------

While you may consider these minor issues, what I am trying to point out is this basic issue:

Is it not the fundamental basis of having the framework that inheritence creates a consistent programming interface, with some derived classes having extended functionality? So why these inconsistencies?

It is anti-thetical to the entire framework concept and certainly points out that the Microsoft implementation of the framework or at least parts of it, is flawed at even basic levels of functionality.

Next notable VB6 flaw - the P&D Wizard: No features. Everything installed from a single package.

Compare to the VS.NET Setup: Windows Installer supports features, which are an important part of a multi-component complex professional install. But VS NET Setups do not support their implementation. Everything still gets lumped into a single "feature", just like with thew old P&D package. Brilliant! Just Brilliant!

So let's summarize here and see where we are so far in terms of platform comparison:

1) Programming business objects is primarily the product of the developer not the platform. True for all languages. Designing robust, maintainable, extendable business object classes required developer skill in VB6 and still requires comparable developer skill in NET. Net result? (bad pun Smile | :) Realistically, little has changed.

2) Programming a GUI in VB6 meant dealing with inconsistent control implmentations. Programming a GUI in VB.NET means dealing with inconsistent control implementations. NET is probabaly a little better, but nothing to write home to Mom about. Plus there is the learning curve of having to discover and circumvent a new set of inconsistencies. Things have changed, maybe a little for the better, but the framework controls are hardly the consistent animals they should be based upon the concept of a framework platform.

3) Setup Projects? Different, not neccessarily better. At least you could pretty easily hack the VB6 setup project to create "Feature" style installs. Try manually editing an MSI created from VS.NET!! Hope you have a lot of time on your hands.


Now lets' consider the real "evils" I perceive in NET:

1) Biggest by far is startup time. Even with native images. The framework takes a long time to load, and you cannot even get up a splash screen before it does. Vb6 could pop up a splash screen in less than a second then you coould do your initialization. Not so in NET. Way too slow at startup. Keep in mind that the tytpical developers powerhouse is a few lightyears ahead of the typical box the vast majority of users have sitting in their cubicle. Net apps load noticeably slow on my machine. On the basic business aqpp grunt user's computer, the speed which a NET app loads is probably better described as "glacial".

2) The framework size. we agree on this. But we may not agree on how long "short term" really is. I assume you consider short term as "soon". For the subset of "everyone" that falls in the domain of my concern, I consider "once everyone has it" as nowhere in the immediately foreseeable future. Not this year. Not next year.

I work in healthcare. Many small doctor's offices are using Win98 still. Convincing them to change applications is tough, but doable if you have a good product. Convincing them to change their entire platform is another matter altogether. Users are not developers. And despite what many developers might think, you might be surprised by how long it really will be before most users are running platforms with NET framework already installed. And doctors almost always only have a dialup because that is the standard way they submit their claims. They are not paying for DSL or Broadband so the nurses can surf the web. If they have to downoad the framework, and most will, you can forget it. It ain't gonna happen. That forces you to distrbute NET applications to this sector on media. That means creating media, creating professional looking media with logo printed CDs, physical distribution. It is not a minor issue by any measn.

3) Stability. I've used Visual Studio 6 for years. It crashed occasionally because I was hacking some program like writing threads in VB6 or subclassing. So I restarted it. But I never fatally crashed VS6. I NEVER had to uninstall VS6 and reinstall it because something stopped working. NEVER!

Look at this forum. There is an entire group on this forum dedicated to problems with the NET IDE. I personally have had my NET IDE fail in some unrecoverable fashion twice. Why? Because of I downloaded friggin Internet Explorer service pack patches and updates. An Internet Explorer service pack corrupts my VS NET IDE? What's up with that?

If the NET IDE itself is so fragile, and obviously it is, based not only on my experience but hundreds of others, why should I be confident of anything about the framework stability on a client's machine?

Maybe the framework is more stable. But the only evidence I have is that the IDE stability is just plain sh*tty. What can I deduce about the stability of the framework? Nothing really. Hopefully MS put more emphasis on stability of the framework. Maybe that would explain why they apparantly put so little effort into the stability of the IDE.

But a sh*tty IDE does not exactly make me tend to believe the framework stability is rock solid.

And many if not most development products end up being released late. But NET's original release was not late, it was really, really late. That generally always implies a lot of hurry-scurry last minute QFEs to get the product out. 1.1 certainly fixed some of those. But I think it is safe to assume that a lot of bugs were also carried over from 1.0. That hardly inspires confidence in stability.

I could go on, but ....

You know it's a lot like the TV commercials. The drug ad where the guy says: "When people say something is better, you'd want proof, right?"

Well, I see a lot of people who really love to hate Vb6. The same people generally rant and rave about NET being better. Sorry. I think it's based on personal basis more than anything. I want proof. Show me the money ...

Robert




GeneralRe: VB6 supported until 2008 Pin
Christian Graus6-Apr-05 13:15
protectorChristian Graus6-Apr-05 13:15 
GeneralRe: VB6 supported until 2008 Pin
rwestgraham6-Apr-05 14:19
rwestgraham6-Apr-05 14:19 
GeneralRe: VB6 supported until 2008 [edit] Pin
Mitch F.6-Apr-05 7:21
Mitch F.6-Apr-05 7:21 
GeneralClearing the Values in Combo Box Pin
Anonymous5-Apr-05 10:53
Anonymous5-Apr-05 10:53 
GeneralNeed Help Pin
Anonymous5-Apr-05 5:51
Anonymous5-Apr-05 5:51 
GeneralRe: Need Help Pin
Dave Kreskowiak5-Apr-05 6:23
mveDave Kreskowiak5-Apr-05 6:23 
GeneralRe: Need Help Pin
Colin Angus Mackay5-Apr-05 6:24
Colin Angus Mackay5-Apr-05 6:24 
GeneralProblem in VB 6.0 Pin
sams_eee5-Apr-05 5:02
sams_eee5-Apr-05 5:02 
GeneralRe: Problem in VB 6.0 Pin
Dave Kreskowiak5-Apr-05 6:09
mveDave Kreskowiak5-Apr-05 6:09 
GeneralSend SMS in PDU format Pin
bgm22915-Apr-05 3:47
bgm22915-Apr-05 3:47 
GeneralRe: Send SMS in PDU format Pin
Dave Kreskowiak5-Apr-05 5:57
mveDave Kreskowiak5-Apr-05 5:57 
GeneralRe: Send SMS in PDU format Pin
Anonymous5-Apr-05 6:46
Anonymous5-Apr-05 6:46 
GeneralWave file property in vb Pin
accessnetwork5-Apr-05 1:38
accessnetwork5-Apr-05 1:38 
GeneralRe: Wave file property in vb Pin
Anonymous5-Apr-05 7:22
Anonymous5-Apr-05 7:22 
QuestionHow to Inherit DataColumnCollection Pin
Prakash Chajer5-Apr-05 0:49
Prakash Chajer5-Apr-05 0:49 
Generalpackage and deployment wizard Pin
Salman Sheikh4-Apr-05 23:12
Salman Sheikh4-Apr-05 23:12 
GeneralSWF files Pin
Mr Dabbah4-Apr-05 22:42
Mr Dabbah4-Apr-05 22:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.