← New search

Other meanings of Visual Basic

Programming Languages

Visual Basic (classic)

Visual Basic (classic) is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft, first released in 1991. It was designed to make Windows application development accessible to beginners, featuring a drag-and-drop graphical user interface (GUI) designer and a simplified version of the BASIC language. The classic version, often referred to as VB6, was succeeded by Visual Basic .NET in 2002, but it remains influential and is still used in legacy systems.

1991
First release
Year
VB6
Final version
Version
2008
End of mainstream support
Year
BASIC
Language lineage
Family
1

Origins and evolution

Visual Basic (classic) originated from an earlier project called 'Tripod' at Microsoft, led by Alan Cooper, who is often credited as the 'father of Visual Basic'. The first version, released in 1991, was a radical departure from traditional text-based programming, offering a visual designer where developers could draw controls onto forms. Over the years, it evolved through versions 2.0 to 6.0, with VB6 (1998) being the most widely adopted. The language was built on the BASIC heritage, but added object-oriented features, though not fully, such as class modules and inheritance via interfaces. Microsoft's decision to replace it with Visual Basic .NET in 2002 caused significant controversy, as the new platform was not backward-compatible, leading many developers to stick with VB6 for years.

2

Key features and programming model

Visual Basic (classic) introduced a rapid application development (RAD) environment that allowed programmers to create Windows applications by placing controls like buttons and text boxes on a form, setting properties, and writing event-handler code. The language was case-insensitive and used a syntax that was easy to learn, with features like implicit type conversion and a large standard library. It supported ActiveX controls, which could be reused across applications, and provided data access through ADO and DAO. The IDE included a debugger, a code editor with IntelliSense (introduced in VB5), and a visual data designer. One notable limitation was its single-threaded apartment model, which complicated multithreading, but the simplicity of the model made it ideal for business applications and internal tools.

3

Legacy and continued use

Despite being officially unsupported since 2008, Visual Basic (classic) remains in use in many organizations, particularly for maintaining legacy applications. According to a 2020 survey by the software company Embarcadero, a significant percentage of enterprises still run VB6 code. Microsoft has provided compatibility guidance and tools to migrate to .NET, but many systems remain because they are stable and costly to rewrite. The language also influenced later Microsoft technologies, such as VBA (Visual Basic for Applications) used in Office, and VBScript for web scripting. The community around VB6 is still active, with forums and resources dedicated to troubleshooting and extending the environment, and some third-party tools allow VB6 applications to run on modern Windows versions.

4

Lesser-known aspects

Visual Basic (classic) has several obscure facets. For instance, the original codename for the project was 'Thunder', and it was initially intended to be a simple tool for creating prototypes. The language's 'WithEvents' keyword allowed for event handling on objects, but it was not widely used. VB6 included a 'Data Report' designer that could generate reports, but it was rarely documented. The 'Line' and 'Shape' controls were often overlooked but provided simple drawing capabilities. Additionally, the 'CallByName' function enabled dynamic invocation of methods, a feature that was ahead of its time. The 'App' object had a 'PrevInstance' property that could detect if another instance of the application was running, a common trick for single-instance apps. Also, the 'SendKeys' statement could simulate keyboard input, but it was notoriously unreliable. The 'Microsoft Script Control' allowed embedding VBScript or JScript into VB6 applications, enabling scripting extensibility.

Glossary

RAD
Rapid Application Development, a methodology that emphasizes quick prototyping and iterative delivery.
ActiveX
A Microsoft framework for reusable software components, used in VB6 for controls and libraries.
ADO
ActiveX Data Objects, a data access interface to databases.
DAO
Data Access Objects, an older data access technology from Microsoft.

Visual Basic (classic) is distinct from Visual Basic .NET; the latter is a separate language with a different runtime.