Visual Basic 6.0: A giant more powerful than ever

When discussing VB6, we should look at the reality of the situation and not on preconceived opinions. New source code projects are made daily in Visual Basic 6.0. The paper proposes the reintroduction of Visual Basic 6.0 on the market, in parallel with Visual Studio line.

Introduction

Released on the market in mid 1998, Visual Basic 6.0 (abbreviated VB6) has been and it still is the most successful version in the history of Visual Basic. The VB6 compiler has been designed to satisfy the slow processors of the late 90’s (800MHz – 1300MHz). Fortunately, compilers do not get old (ie. ADA – an "old" compiler underlying F22's raptor on board equipment, or Fortran and COBOL - which are widely used)1-3. This throws us into an older conclusion, namely if it is new it is not necessary better.

Nevertheless, at the time, VB6 designers were true visionaries, who have done an incredible job which has withstood time. With the increase of the processor speed, compiler designers have become increasingly careless, overestimating the hardware power. These bad habits have probably been taken from the 3D game industry where the size of the game was almost always confused with its complexity and novelty.

Why is VB6 still successful ?!

There is no great secret that VB6 gets along very well with embedded machine code and the assembly language. VB6 advanced programmers are usually advanced assembly language programmers also. They have propelled VB6 programming language to the very top. Nowadays, through a simple copy and paste of the myriad of functions created by advanced programmers for VB6, an intermediate level programmer can create VB6applications that run faster than those designed in C++ (no joke there).

Microsoft should perhaps listen to the hundreds of thousands of programmers who demand the introduction of VB6 to the market . It seems that no other programming language has created more scandal than VB6, culminating in a very serious petition to Microsoft made by programmers (14627 signatories including 265 Microsoft MVPs) from around the world4,5. The phrase that is most heard from other internet VB6 programmers in small talk discussions is: "if there is no more VB6 then I will move to Linux, I know most programming languages anyway ..." otherwise a troubling phrase for Microsoft.

Both I and other VB6 programmers, do not understand why Microsoft does not redesign a parallel version of VB6, ("Visual Basic 6.0 phoenix" would probably be a good name taking into account the circumstances). Most companies take care of their fans and designers. Personally I do not see anything harmful or threatening in a new separate VB6 programming language for the Microsoft grand plans.

Some VB6 open source projects in 2013

With an average of 7 posts a day, VB6 programmers brought in 2013 about 2500 open source projects on Planet Source Code alone. What is interesting is the high quality of the projects made in VB6 in recent years. Listed below are some very serious VB6 projects that have ignited my interest and imagination:

Visia Compiler is a native x86 compiler for Windows 32 platform (update #4). This great project is made by Kinex (with thanks to Mark Chipman, Mordred (nick name), Tommy Lillehagen and Jordi Enguídano). It is written in Visual Basic 6.0 but compiles directly into machine code without the need of any runtime libraries or other dependencies. The language supports GUI creation, API, pointers, inline assembly (FASM must be installed). It may build and include libraries, include source headers (inc), custom entry point and dynamic arrays. Syntax is only little similar to basic-like languages as coding structure is near to C than Basic.

08 JAN 2014 UPDATE. This update includes a new content-aware resize tool (also known as Liquid Rescaling). Content-aware resizing uses seam carving (http://en.wikipedia.org/wiki/Seam_carving) to rescale images by removing unimportant areas while preserving important ones. It wasn't added to Photoshop until CS4, so it's a relatively cutting-edge technique, and I think this is the first-ever VB implementation. Feedback welcome! Try it from the Image -> Content-aware resize menu. This update also includes many minor bugfixes, optimizations, and other improvement. As the title says, PhotoDemon is a fast, powerful, VB6-based photo editor focused on usability. Despite being coded in VB, many of its filters and tools outperform those in other free photo editors (GIMP, Paint.NET, etc).

Key features include: 100+ filters and tools, macro recording, batch processing, automatic update notifications, real-time effect previews, EXIF and XMP metadata handling, RAW format support, color-managed workflow, and much more. Compile for best results. Thank you to all the PSC projects whose work helped PhotoDemon exist; full credit and links to those projects can be found in Help -> About.

Advanced mathematical functions (made in VB6)

Description:

Here I upload 102 modules containing several hundred advanced mathematical functions written by Sergey Bochkanov between 2005 and 2013 (some of these functions are not found even in C or C++). Some of the functions , include:

OpenStreetMap (made in VB6)

VB6 the king of the jungle

Microsoft "thinkers" probably "thought" that if VB6 is no longer supported, then programmers will be forced to move to the .NET environment. This was, undoubtedly, a wrong assumption, because it seems that in 2013 (and no doubt in 2014), VB6 is once more in the top of open source projects (see Figure 1). After the programmers petition4,5, and many articles in the media6-15, several years ago VB6 was again supported by Microsoft (and still is).

Figure 1. Best programming language in the world in 2013 - 2014. The figure shows the number of "source code" keyword appearances for some of the most popular programming languages6. These proportions reflect the actual number of open source projects for each programming language. The methods after which these calculations were made, can be found here.

VB programmers do not particularly like VB. NET and don't like any other versions of VB after VB6. Why? VB6 is dependent on a single file, namely: msvbvm60.dll. On the other hand, VB .NET is dependent on the .NET Framework environment, which inhibits the individualism of the programmer and this is not consistent with the human nature.

The silent VB6 war

Certain VB6 applications (compiled EXE's) are in conflict with some antivirus companies. The reasons behind this conflict are not yet known. VB6 is too strong and it has the most programmers, this may be a good reason for conflict, or, another reason would be the incompetence of these companies in extracting relevant signatures. There are rumors throughout the VB6 community that many customers uninstall the antiviruses of some security companies due to false detections on VB6 applications (VB6 executables). Let us remember, Microsoft has not perhaps realized that antivirus companies have buried Visual Basic Script (VBS). However, Visual Basic Script did not have hundreds of thousands of programmers worldwide as VB6 has.

If Windows 7 is criminaly ensane-smart and beautiful (Windows 8 being just smart) and the team dealing with it did a great job, the team (department) that decides the fate of Microsoft programming languages does not, still, understand the force of Visual Basic 6.0. Paul Yuknewicz is (as I understand) the Lead Program Manager on the Visual Studio team. He invites us to use VB6 inside VMware in the future!16. It says this in an online movie viewed by 45,841 VB6 programmers, 45,841 souls. Now, is not this a lack of respect for the entire VB6 community ?! just a thought ...

The humble request of programmers

We have to force Microsoft's hand to reintroduce VB6 to the market, of course, under the same name and fully compatible with future Windows OS’s! As long as the programmer feels like in VB6 and the classic VB6 source codes work, everything will be fine and everyone will be happy. Increasingly more and more applications are made in VB6. We will not be ignored !

I will end this article quoting Karl E. Peterson: "Microsoft had never rendered any of their customer's data unusable. Not once. Why they did it first to the users of the world's most popular programming language ever, the product the company was founded upon and that may have had more impact on their overall corporate position than any other, is extremely puzzling. After years neglecting the VB6 community, Microsoft seems to be missing something. Us!"16

Share

About the Author

Comments and Discussions

if the article didn't have at least one 4 stars vote then would have meant that something was wrong with it.

Not necessarily true, I would give it a 1 vote for content as I disagree with your whole concept of reviving VB6, but a well presented article does not deserve that. Note that even Colin did not down vote the article.

I also notice that most of your positive responders are low rep members, not one of the more respected CPians are will represented.

Also you may look at the 3 votes for Colin's comment, 1 negative and 2 positive and the balance is 4.7 something, indicating that at least 1 other high rep person approved of his comment.

1. TIOBE index it is based on Alexa rankings. TIOBE places C++ above PHP, and this is not correct at all because PHP and Javascript have the largest amount of source code in the world.

Where's the link to your source for this? If you're going to play scientist, you've got to show ALL of your work and sources.

ISpliter wrote:

2. "PYPL is created by analyzing how often language tutorials are searched on Google". PYPL places Java above PHP and Javascript under C++, and VB on the last palace ... which is not true.

This is slightly flawed as there can be many reasons for a search for classified language that have nothing to do with using the language itself. For example, your own research.

There are plenty of cases where someone may search for how to use a 3rd party control in both C# and VB.NET. Should that count towards the popularity of one or both of the languages??

I agree with the others. This article sniffs a bit of finding facts to fit your hypothesis instead of letting the data drive the hypothesis.

Being a former long time VB6 developer, I absolutely do NOT agree with this, nor do I agree with trying to force Microsoft to bring back VB6 support. I picked up VB.NET way back in 2001 when .NET was a Beta and you had to write code in Notepad and compile with command line compilers and immediately thought that using VB6 was like coding in the Dark Ages! I've never started a new VB6 project since that day.

Quote - "VB.NET enters top 10 for the first time.
Visual Basic .NET has entered the TIOBE index top 10. This is quite surprising for 2 reasons: VB.NET is the successor of Microsofts well-beloved classic Visual Basic 6.0 version. Since VB.NET needed to run on Microsofts .NET platform the language has changed drastically. Many software engineers refused to migrate to VB.NET. For this reason VB.NET has been critized through the years. The other reason why this is surprising is that Microsoft seemed to slowed down further development of VB.NET. For example, the latest Visual Studio version 2013 doesn't contain any new VB.NET language features." /Quote

This is the best performance for VB.Net in it's 12 year history.

Visual Basic (VB6 and earlier) is in 7th place.

PS: I do not want to bother you, but how can you be a former long time VB6 developer if you picked up VB.NET way back in 2001 ?!

because PHP and Javascript have the largest amount of source code in the world.

While I enjoyed your article, your reasoning in regards to positioning is entirely flawed.
For example, since China is the most populated country in the world, therefore Chinese (or one of the dialects in China) must be the most spoken or, most popular language. Population does not indicate popularity or use.

In college, one of the tasks I was given was to write an application that counted the number of lines in a COBOL application, the implication being, the number of lines denoted the complexity of it.

Code sammple:

Add A to B giving C
Add C to D giving E
Add E to F giving G

(Only the value of G was ever used again)

versus

G = A + B + D + E

The first example is 3 ilnes, therefore 'more complex' than the second example although the end result is the same.

If VB 6 is to stand on its own, then the developers who insist on using it must learn to live in an everchanging world, and by extension, accept that new hardware and software may not be compatible with it.

If that happens, don't ask Microsoft to update the language; they have provided a path forward, even if people choose to not use it.

You can vote all you want for MS to bring VB6 back. It's NEVER going to happen.

Now, if this vote was for MS to Open Source VB6, that's got a better chance of happening. The "die hards" can keep their precious VB6 as long as they want without trying to hold back the resources of MS to further progress other, more advanced environments and languages.

A computer programmer exemplifies Human thought, translating in effect each thought to a computer command. It is therefore ABSOLUTELY necessary that the programming languaged used is as close to Human thought as possible. This is exactly where VB6 scores High. But I do appreciate the need for other languages.

It is time to re-invent VB6, proving that it does indeed offer an excellent environment for converting thoughts to programms.

I am so happy about this article. Just the suggestion to bring back VB6 classic excites me. I am 70 years old, and went through many languages, but if I have to do any thing significant, I go back to VB6 only. Any way looks like Microsoft is losing interest in net by going to Windows RT etc., and with the new management change (that is going to be overlooked by Bill Gates, who was the chief architect of VB6) may be there is a chance for VB6 to come back, especially if people like ISpliter keeps up the pressure. Thank you for your article.

Thank you for your kind appreciation related to the article. I entirely agree, Microsoft would enjoy a huge amount of respect and support for re-introducing Visual Basic 6.0 to the market. Thank you for the support, it is greatly appreciated.