Hello, my boss is considering the idea of migrating to VB.NET. He asked me to do some research into the advantages of using VB.NET 2005 instead of VB6.
What can you do in VB.NET that cannot be done in VB6?
Any help will be appreciated.
Printable View
Hello, my boss is considering the idea of migrating to VB.NET. He asked me to do some research into the advantages of using VB.NET 2005 instead of VB6.
What can you do in VB.NET that cannot be done in VB6?
Any help will be appreciated.
Nothing really ... it's just that VB.Net has more feature that can make your life easier in some cases ... but transition wouldn't be easy at all.Quote:
Originally Posted by esposito
Basically, you are saying that there's no real advantage in moving to VB.NET if you are an experienced VB6 programmer. I know VB.NET allows you to create server-side Web applications using ASP.NET but, for the moment, we are not interested in that kind of software.
What my boss is interested in is whether VB.NET should be preferred to VB6 in the development of desktop applications. The reason why he is exploring such possibility is, he is afraid that in the future Microsoft could make COM software incompatible with their operating system forcing all developers to migrate to .NET. Do you think his fear is pointless?
Quote:
Originally Posted by RhinoBull
That was not what I said, though. You asked the question "what can be done ..." and I answered that particualr q. To answer that quote I'd say that there are many advantages to make the move as well as disadvantages but you have to decide for yourself what you want to do. If someone has about 5 years untill he/she retires then there is no need to go into heavy learning process at all. Also, if you run some business on VB6 app and it's all you need then what's the point of doing any upgrades? Many would disagree but I personally know quite of few businesses that still rinning of VB3 apps (as well as DOS based apps) and very successfull ...Quote:
Originally Posted by esposito
However, if you are young and ambitious then you should learn it - there is no doubt in my mind that's the way to go.
If you can get a most recent copy of PC Magazine then it has a little article about VB9 supporting COM and such ...Quote:
Originally Posted by esposito
The fact that VB9 still supports COM does not mean, IMHO, that MS do not want to get rid of that technology to base everything on .NET.Quote:
Originally Posted by RhinoBull
To tell the truth, my boss already wanted to move to VB.NET a couple of years ago but I discouraged him from doing so because of the difficulty related to the app deployment (the 23MB .NET Framework "Hell") and the problem of reverse engineering (cracking a VB.NET exe is a piece of cake if you don't resort to some good obfuscator).
Now, the fact that VB6 has been abandoned by MS is persuading my boss to move to either VB.NET or REALbasic.
Anyway, if the COM technology still has a future, he may change his mind once again...
There is no Framework "hell" as its actually better and easier then vb6 runtimes, jus the size difference is the only negative but it can be deployed along with your app so it doesnt have to be downloaded.
.NET is way more powerful and make production faster then vb6. Not to mention that .NET apps in 2005 are 40% faster then vb6 ones. I made the change and it was a bit tough to learn even with all my years experience with vb5 and 6 but once there its something I am glad to have done. I will never go back to vb6 unless forced to.
There is allot you can do in .NET that you can not do in vb6 and also things you can do better and faster with less code then it would take in vb6.
As you know, VB6 runtime files are included in the basic installation of Windows ME and XP. VB5 runtimes are even present in Win95 and Win98. (that's why I prefer VB5 to VB6)
Moreover, you will agree with me that VB5/6 executables are harder to crack/reverse-engineer than VB.NET ones.
So, my problem is, my boss is waiting for me to give him good reasons to move to .NET. That's why I'm looking for a concrete list of things you can do in .NET "that you can not do in vb6 and also things you can do better and faster with less code then it would take in vb6."
Can you help me?
TIA
Features that you may have added in you program (vb6) that can be optimized or done easily in .NET...
Things that took many API calls are now just properties.
IE:
Set the form as the top most window - Form1.TopMost = True
Transparency of a form - Form1.Opacity = 0.5 '50%
XP Styles without a manifest file - Application.EnableVisualStyles()
Databinding is no longer evil.
More advanced controls like the Splitter, Dialogs control, Numeric Up/Down, Domain Up/Down, Context Menu...
Better project templates/types - Services, Console apps, ASP.NET, web services...
Better/easier graphics using GDI+ -Graphics.FillRectangle(br, Me.ClientRectangle)And many more which others may add to .
GradientBrushes, etc.
No-one has really succeeded so far.Quote:
Originally Posted by esposito
To begin the list Multithreading support will be THE #1 as far as I am concened.Quote:
Originally Posted by esposito
Thanks. I'm taking notes of all your remarks.
Any further help will be appreciated.
RB made a good point with the Multithreading ability. .NET it true multithreading.
Also, being based upon the framework makes it easy to distribute since it comes with XP SP2 and Vista by default. I'm not sure if the vb6 runtimes are going to be included but I doubt it.
In .Net the "DLL Hell" is already non-existent and I'm really glad for it...
Discussion topic moved to General Developer.
Well, you have to make sure that the version of the framework installed on the target machine is exactly the one your application was developed for. In other words, backward compatibility is not something you can take for granted.Quote:
Originally Posted by RobDog888
I don't agree. Windows Vista will very probably contain Microsoft Antispyware, which was developed in VB6. Consequently, all the basic VB6 runtime files should be present in the next version of the OS.Quote:
Originally Posted by RobDog888
Yes, but you have to cope with the .NET Framework Hell, though. Distributing a 23MB runtime file is not a piece of cake.Quote:
Originally Posted by dee-u
This becomes an even bigger issue when dealing with commerical software and rolling out new products.Quote:
Originally Posted by esposito
Yes, I know it very well. My concern is that, since my school distributes software to other schools, if we use VB.NET we may have problems making our software run on some old machines which are equipped with Windows 98 or Me.Quote:
Originally Posted by Hack
Normally, when we distribute VB5/6 applications, we only provide the final users with the exacutable and it works fine. We don't use any OCX libraries because most of our programs must run in a LAN and we can't install them on each machine.
The deployment of the .NET Framework will surely be a problem and I want my boss to be fully aware of it before deciding whether to upgrade or not.
Well, two things come to mind after reading this:
1) esposito - sounds like you already have made up your mind, and you don't want to have to change.
2) It sounds like hardware limitations are going to be the major deciding factor, and not what you or your boss wants.
-tg
I may have made up my mind already not to use VB.NET. The problem is, my boss has asked me to prepare a list of advantages and disadvantages of moving to VB.NET and I have to show him what the pros and cons are.Quote:
Originally Posted by techgnome
Eventually, he is going to decide whether our school should upgrade or not.
You dont have to distribute the framework if you dont want to. Your setup package can download it if its not automatically detected. You can target your app for a particular FW version so you can be compatible. There are only 2 version that are targets - 1.0 and 1.1. With 2005 there will be 2.0 but its not backwards compatible. Having to target between 3 versions is not hard like having to deal with dll hell with vb6.
Thanks. Unfortunately, the schools we do business with are equipped with computers which are not exactly state of the art. Some of them aren't even connected to the Internet.Quote:
Originally Posted by RobDog888
Most of the software we develop deals with testing (particularly, multiple choice questions).
To tell the truth, I see no valid reason for us to switch to .NET but I need to convince my boss. While developing our applications in VB5/6 takes very little time, producing the same software in .NET would take at least twice as much, considering the learning phase. For what? We can do all we want in VB5/6 and, unless we need something that classic VB cannot create, it wouldn't make any sense to upgrade for the sake of upgrading.
Hello, I would like to "reverse" my original question: could you please help me make a list of good reasons why my school should NOT upgrade to VB.NET?
Please read my previous posts in this thread to see what the situation in my school is like.
I have already made clear that I am against the idea of switching to VB.NET but I need to convince my boss with documentary evidence supporting my point of view.
Any help will be appreciated.
I think the only solid advantage for VB6 is this:
If you have a large amount of legacy code, you can't move it to .NET easily. It will take an almost complete re-write, which could be a heckuva burden.
However, keep in mind that there are several people here (RD for one, me for another, but there are plenty more), who went to .NET, and have no desire to ever go back. Be sure that your reluctance to migrate is based on a sound understanding of the issues. I hesitated for about a year before really starting something in .NET. Now I won't write anything further in VB6. You might be the same way.
To sum up, these are the disadvantages of switching to VB.NET I have detected so far:Quote:
Originally Posted by Shaggy Hiker
1. Difficulty in migrating legacy VB code to .NET.
2. Deployment of the huge .NET Framework.
3. Easiness of cracking and/or reverse-engineering a VB.NET executable.
4. Whenever the Framework version changes, you will have to upgrade your applications and provide the final user with the correct version. (Poor backwards compatibility)
5. Syntax is more complex in VB.NET than in VB6.
Anything I am missing?
I would strike number 5. In many ways, the syntax differences between .NET and VB6 is an advantage for .NET. OO design was developed partially to enhance reuse. This is accomplished in my opinion. You will be able to do more things faster once you get going with it.
I feel that the only valid point is the fact that you are supporting older legacy systems. Otherwise, .NET is superior. I'm not sure that I would care to deal with it on older systems, though.
- Migrating legacy code isn't a disadvantage of switching to VB.NET. It is merely a burden of the process, that you will encounter in any language transition.
- Deployment of the "huge" framework (Although I personally consider it fairly small compared to other library requirements like DirectX etc.) will soon become a non-issue as more and more PC's have the framework and it is included with new versions of Windows.
- I don't see how .NET assemblies are "easier" to crack than VB6 executables. You can decompile (mostly) an executable to ASM code, and you get to about the same stage as .NET IL. You can't get the source code from either.
- .NET 1.1 and .NET 2.0 can be used side-by-side and this will likely be true of future framework versions.
- As for syntax, that's a matter of personal opinion. Myself, I don't use VB.NET so that I don't get confused with VB6. I prefer C# - if you don't know any C-style languages you might find that syntax a heck of a lot more complex.
The following is an extract I found very useful to convince my boss:
You can read the entire article onQuote:
If you spend the money to upgrade to VB.NET, well, you just spent a lot of money to stand still. And companies don't like to spend a lot of money to stand still, so while you're spending the money, it probably makes sense to consider the alternatives that you can port to that won't put you at the mercy of a single vendor and won't be as likely to change arbitrarily in the future. So as soon as people with large code bases start hearing that they're going to have to work to port their apps from VB to VB.NET with WinForms, and then they start hearing that WinForms isn't really the future, the future is really this Avalon thing nobody has yet, they start wondering whether it isn't time to find another development platform.
http://www.joelonsoftware.com/items/2005/03/14.html
Another article along the same line of thinking, which I think is worth reading:
You can find it onQuote:
MS Anti-Spyware built on MS Abandonware
The Ghost of VB6
By Andrew Orlowski in San Francisco
Published Friday 22nd July 2005 23:12 GMT
Heck, if a movie that's in Aramaic can top the box-office charts, there must be hope for dead languages everywhere.
And for one in particular, which still has millions of adherents. Released in 1996, Microsoft Visual Basic 6.0 cemented the product as the first choice of buggy front-ends to databases everywhere. In fact, if you wanted a buggy front-end to your corporate database, there was no better choice.
VB6 won plenty of scorn for its eccentricities, which Microsoft attempted to rectify in the dot.nettified VB.net 7. Unfortunately, this broke backward compatibility. No matter how Redmond chivvied and chided, a large part of the VB6 installed base wouldn't let go.
The VB6 fans petitioned without joy, and in March this year Microsoft finally cast these users adrift, and ended support for the tool.
However, sharp-eyed reader Carey Bishop spotted this while investigating Microsoft's Anti-Spyware product using Dependency Walker.
(Which isn't an open position at the Betty Ford clinic, apparently, but a debugging tool).
Yes, it's the beloved VB6 run time. Which means that Microsoft too is now one of the last VB6 hold-outs, and certainly the largest .NET refusenik in the world.
Microsoft acquired Giant, the company that produced the Spyware detection program, in December 2004, and lost no time in making it available to users the following month.
"This whole issue begs the question," writes Carey, "why is Microsoft using an unsupported development environment against their own guidelines? Just another case of' 'Do what I say, not what I do'...
Having shelled out for a state-of-the-art Spyware program, VB6 fans are hoping that the customer is always right. Right? ®
http://www.theregister.co.uk/2005/07...t_spyware_vb6/
Wouldn't use that one. Any employer with at least a few brain cells would spot this:
followed by:Quote:
Yes, it's the beloved VB6 run time. Which means that Microsoft too is now one of the last VB6 hold-outs, and certainly the largest .NET refusenik in the world.
Which is a direct self-contradiction. The fact that MS acquired Anti-Spyware and released it the following month, without any time to port it to .NET, means that Giant is a VB6 hold-out. Not MS. You bet that it will eventually be re-written in .NET.Quote:
Microsoft acquired Giant, the company that produced the Spyware detection program, in December 2004, and lost no time in making it available to users the following month.
If it were not for the Framework and the byte-code issues, I would love to switch to VB.NET. Unfortunately, if i did it now, I would be overwhelmed with phone calls from my customers telling me they can't run my apps. Moreover, the next day an app of mine were released, people would find its crack on the Web.
The following article, that I consider extremely accurate, made me understand .NET may represent MS's grave.
Please find the entire article on
http://www.bitwisemag.com/copy/byteg...ytegeist7.html
Quote:
So here we are, three years after the launch of VB7 (aka VB .NET). Microsoft is missing over a billion dollars of upgrade revenue and it seems that VB6 users aren’t upgrading to VB .NET at all or are moving to C#. The VB6 user base is disintegrating. Instead of carefully looking after its user base, locking it in and ensuring that it can upgrade smoothly, Microsoft’s actions have resulted in the world’s most successful language blowing away in the wind. VB .NET books are not selling well. Publishers are just not in any great rush to commission VB .NET books.
Technically speaking, seven years after VB6 was released in October 1998, VB8 is now – at last - just equivalent to the old VB6 with the inclusion of the edit-and-continue feature. Putting this plainly, from a grunt programmer’s point of view – that’s someone who doesn’t do anything special, just knocks out useful applications and gets the job done - in seven years, (seven!) VB8 has not advanced very much over what was available in VB6. In some ways, it's worse: just try dealing with unstructured memory – it’s horrible.
By any measure, this is a disaster. How can a company possess a loyal user base of 6 million users and just throw it away? What level of insanity prevails at Microsoft? There have been many corporate disasters in the past – Coca-Cola’s new Coke and Intel’s Pentium bug being just two examples. These have found their way into MBA case studies at Harvard and other business schools. I’m pretty sure that Microsoft’s mishandling of its golden VB6 legacy will rank there among the finest. All because once the trains started moving, no-one could, or was able to, shout “STOP!”.
I've seen you mention "reverse engineering .net" about three times now.
All I have to say is "web services." If you're not going to obfuscate it, and you're on a LAN anyway; set up a service that houses all of that critical functionality and have users subscribe.
---IMO---
If you don't want to upgrade, then be honest with your boss and say just that. If he/she asks why, just say that it's a training issue or flat out tell him/her it's just not in your best interests. If you haven't used the Fx first-hand, don't rely on a bunch of strategically picked articles to develop an opinion.
If .Net was as insecure and unsafe as your facts sheet make it sound, how come we haven't heard of any company getting nailed with an exploit that set them back millions of dollars? Or even identity theft (not directly relating to hardware theft or user misconfigurations).
Since the the Fx came out half a decade ago; the only negative articles are a bunch of pestimistic, nostradamus-like predictions. A wise man once said, "Don't dog it till you try it."
I skimmed over that article and to be honest it reads like a biased rant.Quote:
Originally Posted by esposito
Someone please explain to me what edit-and-continue has to do with the power of a language.Quote:
Technically speaking, seven years after VB6 was released in October 1998, VB8 is now – at last - just equivalent to the old VB6 with the inclusion of the edit-and-continue feature.
But I agree with sevenhalo, it does sound as though you've made up your mind. I'm just pointing out that the articles you are citing are rather inaccurate.
Fx = FirefoxQuote:
Originally Posted by sevenhalo
Why do companies, and programmers in general, feel this need to do a massive conversion to .NET? Why can't you just start NEW developments in .NET, and continue to support the legacy product line in VB6? It's not like you'd need two programmers to do that. Whatever program you're working on, you're working on. It's not like using VB6 disables you from using .NET or vice versa.
Bill
Hello sorry i have to leave quick so i am not sure what was discussed in this thread , all i want to ask is that i am new to VB so i started with vb6 , do u guys advise me to start with VB.net instead of going with vb6 first? Thanks
You may want to take a look at REALbasic (www.realsoftware.com) which is extremely similar to VB6 but also allows you to produce standalone software for Windows, Linux and Macintosh.Quote:
Originally Posted by lallous
If you don't say why, yours becomes only an offensive statement.Quote:
Originally Posted by penagate
Yes, I have already made up my mind to go on using VB6 but I need to convince my boss that it's the best thing to do for the moment.Quote:
But I agree with sevenhalo, it does sound as though you've made up your mind. I'm just pointing out that the articles you are citing are rather inaccurate.
Fx = Firefox
Why are the articles inaccurate?
Paraphrasing the article I mentioned above, I could say, "If .Net were secure and safe, MS would not be missing a billion dollars of upgrade revenue three years after the launch of VB .NET since VB6 users aren’t upgrading to VB .NET at all."Quote:
Originally Posted by sevenhalo
Here is another article stating that "many of those leaving the language [VB6] behind are migrating not to VB.Net but to non-Microsoft languages such as Java." There must be a reason for it. Could it be that VB.Net sucks? (Excuse my French)
Anyway, the "biased rant" goes on...
Source site:Quote:
When Microsoft made Visual Basic.Net (or Visual Basic 7) the successor to VB6, it actually killed one language and replaced it with a fundamentally different one. It's effectively impossible to migrate VB6 applications to VB.Net, and for VB6 developers, learning VB.Net is as complex as learning a completely new programming language, critics say.
"The .Net version of Visual Basic is Visual Basic in name only," wrote developer and author Rich Levin in a recent blog entry. "Any organization with an investment in Visual Basic code--consultants, ISVs, IT departments, businesses, schools, governments--are forced to freeze development of their existing VB code base, or reinvest virtually all the time, effort, intellectual property, and expense to rewrite their applications from scratch."
Microsoft continues to develop C++ alongside C#, the language's .Net counterpart, and the company should do the same with "classic" Visual Basic and VB.Net, the petition argues. Microsoft introduced VB.Net in 2000, and since then, developer use of VB6 and older versions has declined steadily. Many of those leaving the language behind are migrating not to VB.Net but to non-Microsoft languages such as Java, according to some surveys. For example, a November 2004 survey of developers in Europe, the Middle East and Africa by Evans Data found that Visual Basic had lost 25 percent of its developer base in those areas since 2003.
In North America most Visual Basic developers continued to use VB6 and older versions--45 percent of all North American developers, compared with 34 percent for Visual Basic.Net. Fifty-four percent of North American developers used some sort of Visual Basic.
"One of the main issues keeping VB6 and earlier developers from making the migration to VB.Net is the steepness of the learning curve," said Albion Butters, Evans Data's international analyst, in a statement. "The difficulty in moving existing VB6 apps to VB.Net is, in some cases, insurmountable."
While the developers' argument may make sense, it is probably a moot point, as Microsoft is unlikely to change its stance on VB6, say some industry observers.
http://news.com.com/Developers+slam+...1309&subj=news