Bring back Classic Visual Basic, an improved version of VB6
The silent majority of VB6 users did not ask for changes that came with .NET
We request Microsoft brings back classic Visual Basic as COM development is back with Windows 8.
David Platt wrote an excellent article about why classic VB still thrives:
Due to this idea being accidentally declined, we are reverting back to its original status.
We apologize for any inconvenience.
Visual Studio PM
This is an interesting concept and an interesting discussion.
I used VB4 and VB5 (along with good old Pascal!) when studying for my diploma in software development (yep back in the day!)
In my degree studies I used VBA and C++
My first 'real' job (as a junior software engineer) after graduation was developing with TCL, VB5 (for Windows apps) and C (for DOS apps).
TCL was already a dead language back then, and VB5 had been super-ceded by VB6. Now, when I moved into a new role I was coding in VB6 (with an Oracle back-end) full time.
I saw some crazy-*** code in some of the VB6 systems, and I ALSO saw some well programmed and easily maintainable code. As others have said, it comes down to the programmer and NOT the language. In fact, the 'bad things' that could be/can be done with VB6 showed me how 'not' to do things, and for that reason, it was a great language for me to learn fully and become an experienced developer.
There are some myths surrounding VB6 too; such as -
- It is not OO (it is, it just doesn't support overloading or true polymorphism. However, you can create full classes in VB6 complete with encapsulation and inheritance)
- It allows you to use 'undeclared' variables (it can, but any decent developer would NOT do this. Also, a simple setting in the compiler options stops the IDE from allowing undeclared variables)
- It allows you to use Variants (yes it does, but in a well written application they are not used)
- VB6 makes you write spaghetti code (again, this is down to the developer and NOT the language)
- You cannot 'multi-thread' with VB6. Well, actually it is possible. It is not 'easy' per se, but multi-threading can be achieved with a VB6 application. In fact, learning multi-threading in VB6 gives a good understanding of what is actually 'happening' on the machine
VB6 was a great language, and in the right hands it was a powerful tool with which a good developer could create a large scale maintainable application.
These days I mostly use VB.Net and C#.Net (have done since .Net 2.0), but there is still a requirement to maintain and enhance legacy systems written in VB6. Many of them work well and there is no 'business need' to re-write them in .Net.
For me, it is simple: I use the tool that I think is best for the job in hand. If it is ASP.Net, WinForms, VB.Net, C# etc etc...
A broader rule is .Net for all new developments, and VB6 to keep those old faithful's running!
VB6 tends to receive a bad rap from many, with some people even saying 'it forced them' to write poor code; which is, of course, utter nonsense.
I have a soft spot for VB6, and if it was given a make-over to include full 64-bit support, dynamic grid controls and a tighter compiler (as a rule) etc then I cannot see what the problem would be?
If the likes of COBOL continue to evolve (which I think is great), why not 'classic' VB?
I bet Microsoft would be onto a winner if they gave the development community something along those lines...
The language we choose to code with should not be subject to the whims of the developer of that language. When we originally purchased our copy of Visual Basic, we were given a license to develop with it not with a stipulation that at some future time the creator might say "This is dead, you may no longer use it".
Now, the creator of the language may decide to no longer support it, society at large may decide it is no longer the preferred development language used in the mainstream, but that does not preclude enthusiasts (or evangelists) from continuing to successfully use it in accomplishing their objectives.
I have made a career out of developing with Visual Basic beginning about 25 years ago - even working with competing predecessors as they first began to emerge. When Microsoft released Visual Basic, I saw the future and the impact it would have. As a result, I have been blessed to be very successful in my career. Now, far enough along, and successful enough that I no longer need to be working for "the man", I can march to my own drummer and continue developing with Visual Basic, and am still extremely successful. In perfecting my skills over my career, I know that my productivity rivals 10 decent Java developers to get the same job done. It allows me to continue to be successful working for myself, on my own terms, and not a corporate blob.
I don't have any issues with folks who prefer Java, or whatever flavor of Visual Studio tickles their fancy - it's a choice. By the same token, if Visual Basic, VBA, VBScript, etc. gets the job done for me, and allows me to create robust, reliable, high-performance systems, I fail to understand why so many others take issue with it.
All my programs are in VB6 and they work amazing years after MS deemed them dead!!!
It would only need one or two dedicated individuals to make it work, and a community would grow around them.
Example is blender, commercial software that got canned and went open source, now available in linux distributions.
Yes Deanm but opensource isn't the answer too, Yes you can make changes yourself, but unless it is supported by a community and not fragmented as **** (so only 1 continuation) it's a **** of work to support it yourself.. A lot of businesses don't have the time to make changes themselves (because lack of time or knowledge)..
I ofcourse would love it, as we already do a lot using extra addins (but creating addins isn't easy) but would benifit from just doing it directly in the IDE, and ofcourse fix those pesky bugs on windows 7..
Microsoft's way of retiring VB6 and windows XP is a perfect example of how open source software is now the preferred way forward.
Most VB6 users would be happy with some simple changes - modern looking forms, 64 bit support.
These changes probably wouldn't be difficult.
Because Microsoft is sitting on the code, and not allowing anyone else to touch it, we can see a lot of systems out there looking old and tired, not being compatible etc
This is clearly hurting businesses.
If the code was open source, anyone could make these changes.
Microsoft clearly want to lock businesses in to pointless upgrades to generate money for themselves, even if it means causing them expensive problems.
What a sad situation these businesses now find themselves in.
I have resigned myself to the fact that VB6 is dead now but what really bothers me is that it is not clear today which technology I should use to build advances LOB's (WinForms, WPF, ASP.NET)
VB6 is international. I'm still happy with my German VB6. Dear Friends, Europe also supports your idea! Greetings from Germany!
Before the administrators use this as an excuse to close this idea, here is a google translation of Roman's post:-
Once upon a time , long ago, I started programming in GWBASIC , Pretty soon I discovered TurboBasic . After some time I discovered Visual Basic 3 Then there were new versions of Visual Basic -a . When version 6.0 came out . NET . And then I stopped my desire to learn the next version. While the program has been allowed to create automated so much new syntax somehow did not reach me . I find it unpleasantly reminded of earlier attempts to learn other languages , " holy " Pascal and the " wonderful " C. Its syntax to remind me to write cryptographic methods that the user can not understand where the developer made a bull .
Thus, for many years remained in VB 6.0. Personally I use it to automate simple work support my passion for shooting everything around. It combines many that can do it better , however, does not do it as I want - in my way. I 's so great because everything is within them. In addition, I am not sure as to how much information about what I'm doing is leaking on the internet. Old Visual Basic still did not know how great will power sites.
For a private member such language, very simple with powerful capabilities is the perfect tool .
I support the return of Visual Basic - may be version 6.1 with small updates to the developers who work on 64bitowcach also had the pleasure of a nice programming in this environment.
Roman Jezierski . Poland .
Sorry for the text in Polish but my knowledge of the language of Shakespeare is too imperfect to express what I think .
Roman, rozumiemy Twój post, a większość z nas tutaj zgadzam się z tobą.
Dawno, dawno, dawno temu zaczynałem programować w GWBasic, Dość szybko odkryłem TurboBasic. Po jakimś czasie odkryłem Visual Basic 3. Później były kolejne wersje Visual Basic-a. Po wersji 6.0 wyszły wersje .NET. I wtedy zatrzymała się moja chęć poznawania kolejnych wersji. O ile tworzenie programu zostało mile zautomatyzowane o tyle nowa składnia jakoś do mnie nie dotarła. Niemile mi się to kojarzyło z wcześniejszymi próbami poznania innych języków programowania: "święty" Pascal i "cudowny" C. Ich składnia kojarzyła mi się z metodami kryptograficznego zapisu aby użytkownik nie mógł zrozumieć, gdzie programista popełnił byk.
Tak więc od wielu lat pozostałem przy VB 6.0. Prywatnie stosuję go do zautomatyzowania prostych prac wspomagajcych moja pasję fotografowania wszystkiego dookoła. Jest wiele kombajnów, które może to robi lepiej jednak nie robi tego tak jak ja chcę - w mój sposób. I s tak wielkie bo wszystko jest w nich zawarte. Na dodatek nie jestem pewny co do tego ile danych o tym co robię wycieka przez internet. Stary Visual Basic jeszcze nie wiedział jak wielka potęga będzie WWW.
Dla prywatnego użytkownika taki język programowania, bardzo prosty o potężnych możliwościach jest idealnym narzędziem.
Popieram powrót Visual Basic - może być w wersji 6.1 z małymi uaktualnieniami aby programiści, którzy pracuja na 64bitowcach też mieli przyjemność z miłego programowania w tym środowisku.
Roman Jezierski. Polska.
Przepraszam za tekst po polsku jednak moja znajomość języka Shakespeare'a jezt zbyt ułomna aby wyrazić to co myślę.
Samir Mehta commented
Can somebody advice?
What is the current status? Microsoft is open for the revival of VB6 or no.
Samir Mehta commented
I am on VB since VB DOS inception. I worked on QuickBasic to VBDOS. Later VB4, VB5 and VB6 for windows. What VB6 can do is amazing. See our product line. Just amazing. see http://samtecsolutions.com/products.asp
I can model a new application in VB6 in a fraction of the time I can in .Net. I agree it is the CODER and not the language in most cases that make an app stable. VB6 is simple and way RAD. No offense to the .Net folks (I am one) but please provide a VB6 64-bit version.
Winston potgieter commented
The more research I do the more obvious my gut feeling when OOP evangelist came to my door was right. Do a search on 'oop bad' and read a few articles. The reason I bring this up is, because I feel this is the main reason vb6 was abandoned, the OOP newbies came to Microsoft and said vb6 is an abomination.. so lets fix it to our way of thinking. Well time has revealed that OOP is not the solve all. I am not saying its not a tool, but forcing it as the only methodology is not productive.
If the only argument not to bring back VB6 is because its not an fully OO language, times are changing and the fact is Object Composition is becoming a more efficient and better way to write software. It's time to update vb6 and let people create great software again knowing that it will be supported in future versions of Windows.
Anybody wants to calim VB6 is not for important stuff - I programmed and is running a vb6 app that calculates all the year marks, exam marks and final marks for the students of othe largest university in the Souther Hemisphere - we have 350,000 student, and millions! of marks, 3x a year. And if you ask the lecturers, they refer to this system as "how all our systems hould be" - because of VB6 ease of programming. I cen get more done than the other dev that needs to think about inheritence ets. Simple.
And I have worked in java, c/c++, pascal/delphi... VB6 is in my opinion the most advanced language there is - because I can get the most doen with the least "talking"...
Harry Marx (Msc Bsc) Senior Analyst Developer
Rashed Sheak commented
I appreciate Leonardo Azpurua's comments.
My opinion, I love vb6. Because what ever my clients requirements i can provide them with it.
A resurrection of the VB6 IDE by itself would be a reason for buying.
When .NET came out I simply stopped using Basic which I suggest was the reason that MS brought out .NET in the first place.
The day Microsoft abandoned all the developers of VB6 applications, my company decided to go open source and web apps. Huge blunder, because now our customers don't care about OS/platform since our apps no longer are compiled windows applications.
We still however use VB6 for some applications. I am amazed that a company whose CEO scream "developers-developers" just straight out abandon us with huge projects dying because there are no straight upgrade path because there are no VB7 - there is just .NET, and thats not the same thing.
Please Microsoft, do the decent thing and at least give the code as open source. Just think about how much VB6 code that will be running many years still, and think about the security concerns, think about customers not being able to adopt new Windows-versions if/when comparability break and that will hurt Microsoft sales. And, at last, VB6-community trusted Microsoft, we where your allied, now we are left out in the cold.
Leonardo Azpurua commented
Just some feature present in VB.Net which would be extremely nice to have in VB Classic (and extremely easy to implement):
1.- The Return statement (Return x, instead of FuncName = x: Exit Function)
2.- Initialize a variable at declaration (Dim x As T = New T())
3.- Embedded declaration of variables (i.e. For Each n As T In someCollection)
4.- Multiple classes (or modules) within a single file (Class *** ... End Class)
5.- Combination of assignment and operation in a single construct (a += 1 instead of a = a + 1)
Plus the removal of the limit to the number of source units that a problem can handle (which seems to be a linker problem).
VB6 is a lot better and way simpler. you see, a good GUI makes people learn more. even if they want me to do other languages, i always find a way to make something like that thru vb6.