Visual Basic
Visual Basic (VB) is an event driven programming language and associated development environment created by Microsoft. In business programming, it has one of the largest user bases.
It is derived heavily from BASIC and enables rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using DAO, RDO, or ADO, and creation of ActiveX controls and objects. A programmer can put together an application using the components provided with Visual Basic itself.
As of 2003, 52 percent of software developers used Visual Basic, making it the most popular programming language at that time. 43 percent of those Visual Basic developers, however, planned to move to other languages. The popularity of Visual Basic perhaps results from its easy to understand syntax. Like all other Turing complete programming languages, it can also be used to create arbitrarily complex applications. Programs written in Visual Basic can use the Windows API, but doing so requires external function declarations.
Controversy
Visual Basic is a controversial language; many programmers have strong feelings regarding the quality of Visual Basic and its ability to compete with newer languages. It was designed to be a simple language. In the interest of convenience and rapid development, some features like compile time type-checking and variable declaration are turned off by default. This leads to some programmers praising Visual Basic for how simple it is to use, but also can lead to frustration when programmers encounter problems that the features would have detected (e.g., a typo generating an "undefined variable" error message).
Many critics of Visual Basic explain that the simple nature of Visual Basic is harmful in the long run. Many people have learned VB on their own without learning good programming practices. Even when VB is learned in a formal classroom, the student may not be introduced to many fundamental programming techniques and constructs, since much of the functionality is contained within the individual components and not visible to the programmer. Since it is possible to learn how to use VB without learning standard programming practices, this often leads to unintelligible code and workarounds. Second, having many of the checks and warnings that a compiler implements turned off by default may lead to difficulties in finding bugs. Experienced programmers working in VB tend to turn such checks on.
Many of the criticisms fired at Visual Basic are in fact criticisms of its ancestor, BASIC. A famous formulation by Edsger Dijkstra was, "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." (Dijkstra was no less scathing about FORTRAN, PL/I, COBOL and APL.)
However, many proponents of Visual Basic explain that the simple nature of Visual Basic is its main strength, allowing very rapid application development to experienced Visual Basic coders and a very slight learning curve for programmers coming from other languages. Additionally, Visual Basic applications can easily be integrated with databases, a common requirement. For example, by using controls that are bound to a database, it is possible to write a VB application that maintains information within the database without writing any lines of VB code.
Visual Basic is also a conglomerate of language features and syntax, with less consistency, but more tolerance, than many modern programming languages. Many language features like GoSub, On Error, and declaring the type of a variable by the last character in the name (i.e. str$) are legacies from Visual Basic's BASIC roots, and are included for backward-compatibility. The syntax of VB is different than most other languages, which can lead to confusion for new VB programmers. For example, the statement "Dim a, b, c As Integer" declares "c" as integer, but "a" and "b" are declared as Variant. Other characteristics include the entry of keyword, variable and subroutine names that are not case sensitive, and an underscore "_" must be used for a statement to span multiple lines. Some Visual Basic programmers perceive these as strengths needed to avoid case-sensitive compiler errors, and accidentally omitting line-termination characters some languages require (usually semicolons). For example, the ability to enter variable and subroutine names in any case can be used to the programmer's advantage: by declaring all names in mixed case, but entering them in lower case elsewhere, allows the programmer to type faster and to detect typos when a token remains in lower case.
The language continues to attract much praise and criticism, and it continues to cater to a large base of users and developers. The language is well suited for certain kinds of GUI applications (e.g., front end to a database), but less suited for others (e.g., compute-bound programs). The language is simple and human readable which eases maintenance and support, especially when performed by developers who did not originally author the software. Its simplicity and ease of use explain its popularity as a tool for solving business problems — most business stakeholders do not care about technical elegance and effectiveness, and concentrate instead on the cost effectiveness of Visual Basic.
