## The VB Family

The Microsoft Visual Basic family includes the following:

• Visual Basic (VB). VB can make stand alone executables and components.
• Visual Basic for Applications (VBA). VBA is used in conjunction with applications such as MS Access and MS Excel.
• VBScript (VBS). VBScript is a scripting language, similar to JavaScript, that is used along side HTML in either client-side or server-side scripting.

## VB as a Type of Language

Based upon the programming language types, VB has the following characteristics:

• Language Level. VB is 3GL (a 3rd Generation Language) in that it uses many real-world words, often in semi-sentence like fashion.
• Scripted v Compiled. VB is compiled. VBA is "invisibly" compiled. VBScript is scripted instead of compiled.
• POP v OOP. VB is an object oriented programming language. Some would argue that it lacks some of the features of true OOPs (such as true inheritance) but who cares?
• Development Environment. The development environment for VB is a sophisticated GUI (Graphical User Interface) IDE (Integrated Development Environment). The development environment for VBA is usually provided via its parent application (i.e. by Excel, Access, etc.) and is similar to the VB IDE. The development environment for VBS can vary from a text editor like Notepad to MS FrontPage to MS Visual InterDev.
• Applicable Environment. VB has vast applicability in the Windows world. VB can make stand alone apps, client-server apps, networked apps, and components. VBS is applicable to MS IE on the client side and is great for server side script, especially for ASP (Active Server Pages).

While VB was derived from BASIC, BASIC was scarcely 3GL, a compiled POP language with a text-based interface, and basic applicability (from a modern perspective).

## VB Compared

Based upon Language Types, here is how VB stacks up:

• Implementation Range. Very broad in the Windows world. Not much UNIX, Mac, or mainframe applicability.
• Semantics. Keywords and symbols have a clear meaning.
• Syntax. The keywords and symbols arrange and relate logically, consistently, and legibly.
• Extensibility. VB apps can increase in functionality easily.
• Scalability. VB apps can scale up with increasing volumes of workload.
• Technical Support. VB has a lot of backing from MS and a lot of developers working in it. This means that there is a lot of VB documentation, standardization, support, and examples to work off of. There is a huge VB knowledge base out there. VB and MS are well entrenched across the industry.
• Execution Efficiency. Zippy, powerful, reliable execution: true although VB does tend to have some overhead with the Windows OS.
• Creation Efficiency. Zippy, powerful, reliable creation, compilation, implementation, debugging, testing, etc. The whole VB family enables fairly good RAD (Rapid Application Development).

## VB Features

Based upon programming language features common to most programming languages, here is VB implements those features:

• Developer Comments. An apostrophe (') marks the start of a VB comment. Comments cannot utilize line continuation.
• Statement Layout.
• VB is free-formatted in that white space can be used freely to make the code more readable.
• VB is largely case insensitive, i.e. Hello is the same as hello if it is an identifier.
• A physical line of VB code can be as long as 1023 characters. Longer logical lines can be created with a line continuation character, ie a space followed by an underscore ( _). Up to 25 lines can be physical lines can be joined for a maximum of 10,230 characters.
• VB breaks up apps and components into blocks of codes (i.e. Procedures) and files of code (i.e. modules, see Projects).
• Data Types. VB has a rich variety of data types. See Data Types.
• Identifiers. VB has a system for identifiers and their scope. See Identifiers
• Operators. VB has the usual mix of standard operators. See Operators.
• Flow Control. VB has good flow control mechanisms.
• Functions. VB has lots of functions and objects available intrinsically and as library add-ons. VB allows for user-defined functions and objects as well.
• Input/Output. VB has various means of doing I/O.
• Program Halts. VB has a few ways of performing program halts.

Page Modified: (Hand noted: ) (Auto noted: )