A moderate view.
Just thought that I would put my two cents worth out there - no doubt just
to cop a hammering ;-)
Regarding trends in recent discussion - ie with the pro-OO and OO-indifferent
camps battling it out etc - is the implementation of the added OO capabilities
in .Net truly the issue?
If these OO features were implemented into the classic VB environment, I
am sure the pro-OO camp would be cheering, the OO-indifferent camp would
shrug, and there would be no real contention.
Similarly, if the .Net rewrite of VB had taken place somehow without the
additional OO stuff, some would be pleased, many would
be displeased, and the situation would be pretty much same as what we have
now - though I imagine with fewer.Net supporters.
I think that the OO debate is to some extent obscuring things (of course
that is not to say you shouldn't debate it -go ahead! - I am just trying
to get myself clear about what is going on. Probably foolishly, I am doing
this in public). The core issues as I see them are:
1) The compatibilty issue - how difficult/possible/expensive will it be to
move my current codebase up? Can I rely on code to work the same(ie True
value, And)? Are the features I rely on still available(ie fixed length
2)The knowledge investment issue. I think we can all say that we have invested
signifiant time, resources, and effort into developing our skills with VB.
Is this all wasted? Do I have to start again to move to .Net?
3)The cost/benefit isue. Given the costs incurred because of the previous
two points - what is the gain? Will those costs be recouped? How long will
From what I have seen, there is no denying that compatability is a real barrier
in the sense that codebase upgrading is quite time-consuming, and in many
cases must be thoroughly retested to be sure that it is still behaving in
the expected (relied on!) fashion. Also features have been dropped, perhaps
needlessly, perhaps not and this requires workarounds. Most damagingly of
all familiar features have been left in but altered - this is the most dangerous
change of all I think.
The knowledge investment issue is also a barrier - IMO perhaps more significant
than compatibility. In classic VB, given a problem to solve I usually have
an instant glimmering of (one possible way) how to go about solving it -
I know (to a certain extent) what VB can do, how to get it to do it, and
what it cannot easily do without API etc (note: I am not making claims to
be some master of VB - just to know my way around) I would guess that you
all have some comparable feelings. .Net-wise, I have not had too much trouble
getting a reasonable handle on most of the stuff that I have come across
so far - but I am not nearly as competent in .Net as I am in classic VB.
This all leads to the third issue, which is I think the true crux of the
matter. Moving to .Net IS going to take time/effort/resources ie money. What
are we going to get back out of it?
I guess that this is where the "To OO or .Not to OO" debate comes into the
picture. OO supporters (like myself) see the aditional OO capabilities as
a large part of the "payback" of making the move. Those indifferent to OO
obviously do not recieve this portion of the payback - the move is therefore
that much less likely to be rewarding for them. (Of course, one could argue
that there may be some flow-through from other object-designers work, but
this would probably not swing things much).
Then there is the web stuff. Personally I think it is great - I can imagine
a hundred ways to put web services into use, and from what I have seen, ASP.Net
seems to be fantastic (slightly off topic for VB I know, but many VB programmers
are doing ASP also...).
Additionally there is the unguessable payback of the CLF itself. I can of
course see advantages in this (electric dreams of VB running on linux on
top of a cross-platform CLR hee hee) - but this is at the moment pretty vague
Personally, as things stand in .Net Beta 1, I have to concede, to a degree,
the points made by most of the .Net detractors. For many of them, the immediate
disadvantages do outweigh the concrete advantages of the move. Similarly,
the pro .Net camp has valid points. For many of them, the move is worth it
- they see advantages that outweigh the disadvantages.
So what are we left with? The VB community is fractured neatly, and acrimoniously,
in half. The .Net detractors have valid points - and the most to fear. It
looks as if .Net will be here to stay, and classic VB will eventually be
dropped by MS. How can we (of course it will be MS not us personally doing
it - but we should at least try and find, and argue for, a better common
solution ) increase the payback - or decrease the cost - of .Net transition?
I like, to an extent, one suggestion, the "Option vb6Compatibility". I don't
know how possible that would be, and it would only adress part of the issue,
but it is a constructive start.
What else can we do? I am sure that between us we can find some answers,
if we can get past the rather pointless sniping.
Well there's my two cents. Fire away.
-- Android Development Center
-- Cloud Development Project Center
-- HTML5 Development Center
-- Windows Mobile Development Center