View Full Version : Development, System Upgrades
Top Hat
13th March 2006, 09:36
Most of our internal systems have been developed/evolved over the past 6 years with Visual Basic 6. They are now pretty complex.
VB6 is now obsolete (for a few years) and I've struggled (and failed) to get a legit copy of it, the replacement is VB.net.
VB.net is very different and upgrading will not be a simple thing (I had a quick look when I first got VB.net a couple of years ago)
So I'm after opinions, particularly from anyone who has upgraded code from VB6 to VB.net.
The options as I see it are:
1) Stick with what we've got, I know VB6 very well, there is no immediate need to upgrade. In fact upgrading may never be needed, but there remains the possibility that some point a windows update will break our systems.
2) Convert our systems to VB.net, there is a utility to do this, but it will take a great deal of fixing to get it working (and I fear we will end up with hard to maintain code that I don't understand)
3) Rewrite in VB.net, learning vb.net as I go along, the hard part is already done as I know exactly what the programs need to do. I'm sure we could eliminate a lot of redundant code and rewrite lots of bits to be much more efficient/faster, But this would be a big job
mattk
13th March 2006, 09:48
I wouldn't go as far as saying VB is obsolete, if your site does what you want it to, then VB seems to be filling its need. To me this negates option 2. I wouldn't go through the cost/headaches/heartbreaks of upgrading for the sake of it.
Now, what if you want to add new functionality to your site? You can of course add new functionality in VB.NET or indeed c#, as well as trusty old VB. You are right, VB.NET is a completely different language to VB, it only really has similarities in syntax, the actual concepts, VB.NET being an object oriented language and VB being procedural (it's not an OO language!) are very different indeed. This to me would negate option 3 - don't use VB.NET.
Learn c#. It's simply better than VB.NET. Microsoft use c#. There are more free tools, online guides and code snippets available for c#. c# is the de facto language for Microsoft .NET development. There will be a steep learning curve, but that will be the same if you try and learn VB.NET. That's enough of my c# sermon for today!
So, back to your options. I'd do number 1. Stick with what you've got. if you need to add new functionality then look to write it in c#, if you want to spend some time learning, or VB if you don't. Remember, you will also need to make sure your host supports .NET if you plan to use c# or even VB.NET.
That's my 2p anyway!
Stephen
15th March 2006, 13:49
In terms of the transition from VB to VB.NET, I don't think it's too bad. For sure, it's very different, but I'm a big fan of the .NET architecture.
I think background plays a significant part - VB was really easy for a lot of people to pick up. For VB.NET, I think a formal background in software development is much more helpful than it was with VB.
A major advantage I find is that the framework of objects/functions that .NET makes available (to VB.NET, C# etc) can make life much easier than it ever used to be (particularly with .NET 2.0). And the interoperability of code between languages is much better (useful if there's open source code you want to include).
That said, I think there's got to be a good reason for the effort, and I certainly wouldn't use the automated upgrade tools.
We've migrated all our back office systems and tools, but fortunately we were able to do it in manageable chunks as everything was pretty modular.
My thoughts - if you have a reasonably strong background as a programmer, and there's something specific you'd like to implement or improve, I'd go for it. Otherwise, I'd stick with VB6 until you need to.
And VB6 (not to mention 2,3,4 and 5!) is available as an MSDN download - perhaps that might help in the meantime?
jmds
15th March 2006, 14:18
Most of my applications are developed in VB6/Powerbasic. I do not plan to rewrite any off them to .net. Having said that, i am in the process of brushing up on C# and VB.net, as I will be using them for all new business applications developed. I am planning to continue to use VB6 for applications aimed at home users etc.
DuaneJackson
15th March 2006, 14:40
Remember, you will also need to make sure your host supports .NET if you plan to use c# or even VB.NET.
I think these are windows apps, not web based stuff.
I'd go with option 3 at a lesiurely pace. I have a lot of VB apps out there, I don't think any windows update will break them in the mmediate future. Atleast I hope not!
DotNetWebs
15th March 2006, 14:54
Duane Mattk is right.
C# and VB.NET are just 2 of the many languages that can be used to develop Windows or WEB based applications on the .NET platform.
DuaneJackson
15th March 2006, 14:57
Sorry, what I meant was that the programs Top Hat is talking about are windows based, so there'd be no need to make sure his web host supports the .NET Framework
mattk
15th March 2006, 15:06
I think Duane is right - they are WinForms rather than Web.
DotNetWebs
15th March 2006, 15:09
Sorry Duane I misunderstood what you were saying. Off course Top Hat's apps would be Windows apps and not server apps.
Regarding which language to learn, IMHO is it more important to learn the .NET framework than it is to learn any particular language. C# and VB.NET are virtually interchangeable, it really comes down to which language (syntax) you prefer.
Having said that I think it is worth learning C# because it is clearly Microsoft's preferred language. Also I find it is more instinctive when switching between other web scripting languages (JavaScript, ActionScript etc.)
I still fire up VB6 every now and again. Despite Microsoft's desire for us all to move to .NET there are far too many VB apps out there to make it obsolete. I still maintain one app that I originally wrote in VB3!
DotNetWebs
15th March 2006, 15:22
P.S. VB.NET Express (for Windows applications) is available as a free download here:
http://msdn.microsoft.com/vstudio/express/vb/
I am not sure what its limitations are compared to using Visual Studio.
Regards
Dotty
confused
15th March 2006, 18:02
If you are happy with the way things are - then leave it. I still know of places with NT servers with 2k workstations - it does what they want it to do so why change. That said, theres no harm in you looking to the future, I am lucky enough to have the full version of studio.net and 6, once you use .net a bit it isnt too bad. I dont like C in any way shape or form, I have tried C,C++,C# and me and C just dont get along. I agree though that it does seem to be the preferred language but there is loads of bv.net info to be had, and as far as I know theres nothing that cant be done in VB.net that can in C#.
I still use vb6 sometimes, if I need to write a small app, sometimes easier.
CALV
DotNetWebs
15th March 2006, 18:35
I still use vb6 sometimes, if I need to write a small app, sometimes easier.
CALV
Very true. Especially when developing desktop applications. Remember for VB.NET/C# etc. the target machine will still require the .NET framework to be installed. This may not be practicable on older machines. This is one of the reasons that .NET has been more successful on web servers than it has on desktop machines.
Top Hat
16th March 2006, 08:17
Thanks all.
I'll probably start to use vb.net for all future new jobs, to try and get my head round it.
But I'll stick to VB6 for my existing apps.
DotNetWebs
16th March 2006, 14:17
Thanks all.
I'll probably start to use vb.net for all future new jobs, to try and get my head round it.
But I'll stick to VB6 for my existing apps.
I think you have made the right choice.
Also are you aware that Microsoft hold a lot of free developer events. I have attended many over the years. You get to ask questions and meet other developers. You even usually get a free lunch and a bag of goodies. :D
I was prompted to write this reply by an email I have just received from MSDN advertising this event which may be of some interest to you:
https://msevents-eu.microsoft.com/cui/EventDetail.aspx?culture=en-GB&eventid=118770121
If you sign up for the MSDN flash newsletter you will get notified of all these events (note you do not have to be an MSDN subscriber)
http://msdn.microsoft.com/flash/
jimbrotton
21st March 2006, 09:10
I wnet through a similar process having a number of VB6 apps. I chose to go VB.Net. It was easier and more sensible to rewrite the apps than struggle with the migration tool and fixes.
With hindsight I should have gone C#. The transition would have taken the same amount of learning - they are almost identical to 'read', mainly differing syntax. The transition from VB6 to VB.Net is not trivial, look very hard at C#.
Jim Brotton
mattk
21st March 2006, 10:54
YKTS Jim ;)