Log in / create account | Login with OpenID
DocForge
Programmer's Wiki

Microsoft Visual Basic

From DocForge

(Redirected from Visual Basic)

Microsoft Visual Basic, or VB, refers to a set of programming languages from Microsoft® which share some basic features.

See "Pain in the Butt".

Contents

[edit] Visual Basic (up to version 6.0)

Visual Basic, up to VB6, is a programming language from Microsoft with a very low barrier to entry and RAD (Rapid Application Development) features. This language is based on the COM technology which is the core of the OLE document model, and Windows' standard component model. It features

  • An object oriented programming model based on interface implementation through the COM component model
  • A visual GUI editor
  • Unified database access through various versions of its affiliated data access libraries (DAO, ADO...)

This language is usually the target of untold grief from most programmers due to

  • Its default untyped, declaration-less variable handling (any use of a variable automatically declares it as a "variant"
  • Its low barrier to entry, which allowed untrained people to write unmaintainable programs

This language is very popular among programmers and non-programmers alike because:

  • Its default untyped, declaration-less variable handling (any use of a variable automatically declares it as a "variant"
  • Its low barrier to entry, which allowed untrained people to write unmaintainable programs

Visual Basic has had several offsprings:

It should be noted that a lot of confusion usually goes around, as people refer to "Visual Basic" even to speak about programs written in VBA inside Excel or Access for example.

[edit] Visual Basic for Applications

Visual Basic for Applications, or VBA is a programming language used heavily in Microsoft Office for macro scripting. Visual Basic also had a highly irritating GUI Builder, the products of which could not be edited by hand. Most programmers seem to agree on the fact that this macro language has been abused by untrained programmers for years to write quick and dirty programs. This is usually the main argument in the ongoing War-Against-VB.

[edit] VB-Script

VB-Script is a web-page scripting language developed by Microsoft for use in its ASP server-side scripting technology. It is a concurrent to JavaScript in this regard.

[edit] Visual Basic .NET (version 7.0 and up)

Visual Basic .NET is the latest iteration of the popular Visual Basic language from Microsoft, targeted at its proprietary .NET platform. It has basically the same features as C#, the other very popular .NET language. It features:

  • Full object oriented programming model (single inheritance, multiple interface implementation)
  • Full support of the Microsoft CLR and access to its class library
  • Full Support for generic programming as of version 8.0 (AKA Visual Basic 2005)

With its .NET first revision (Visual Basic 2003), Visual Basic made a big leap from "toy programming language" to a full fledged language, which raised a lot of complaints from casual developers who felt it lost a big part of its ease of use.

With its second revision (Visual Basic 2005), Microsoft created a host of features to try and reclaim its original ease of use without sacrificing its power.

To this day, Visual Basic still retains its original capability of typeless, declaration-less style programming, its biggest critic overall, although this is purely optional.

[edit] Flamewar

Visual Basic is the target of an ongoing war from 'serious programmers' who feel the language itself is to blame for being used to write unmaintainable programs. Some more nuanced programmers usually say that 'you can write unmaintainable programs in any language, and a crappy programmer is crappy programmer in any language'. Most critics directed to VB have been taken care of with its .NET upgrade, as it is now more or less as expressive as its other CLR counterparts such as C#.

Do you have information or insights to contribute to this article? Please feel free to edit this page. Ask questions or contribute to the discussion on this article's talk page.