It’s About Trust!
Next Generation Windows Services,
Visual Basic 7 Language Specification
Below is the original Introduction to the first known attempt by
Microsoft to develop a language specification for Visual Basic. This has
been excerpted from
the NGWS beta 1 documentation (cpvb.chm, 6/22/00). Somewhere between the
drafting of this specification and the design of the product, something went
of these four sections survived on Microsoft's website to date.
Whoops, section 1.3 - Statement of principles - has now (mid-2004) been
removed from msdn.microsoft.com as well. Figures, huh?
1.1 What is Visual Basic 7.0?
Visual Basic 7.0 is the next step in the evolution of the BASIC
language at Microsoft. It is designed to provide the same ease of use for
Web programming using the NGWS Frameworks and Runtime that earlier
versions of Visual Basic provided for Windows programming.
This document describes the Visual Basic 7.0 language. It is meant to
be a complete language description, not a language tutorial or a user's
1.2 The purpose of Visual Basic 7.0
For nearly a decade, the Visual Basic language has been a cornerstone
of the Windows platform. It is easy to underestimate the impact that
Visual Basic 1.0 had on the Windows market – for the first time, writing
Windows applications was a simple and relatively painless task, something
graspable by a wide range of programmers. Similarly, the introduction of
Visual Basic 4.0 was important for helping to establish Automation as the
standard object architecture of the Windows platform.
Microsoft is in the middle of a shift, however, from providing an
operating system to providing Web Services. This shift recognizes the
reality that applications are beginning to migrate from a standalone
executable sitting on a user's hard drive to a distributed application
delivered by a Web server across the Internet. A key part of Microsoft's
thrust into this new Web Services space is the NGWS Frameworks and
Runtime. The NGWS Frameworks and Runtime is designed from the ground up to
allow developers to easily write and deploy complex Web applications.
Visual Basic 7.0 is designed to provide the same ease of use for
building applications for the NGWS Frameworks and Runtime that earlier
versions of Visual Basic provided for developing on the Windows platform.
1.3 Statement of principles
The design of Visual Basic 7.0 encompasses the following principles, in relative order of importance:
- Visual Basic 7.0 is recognizable as the descendent of previous versions of Visual Basic, and an existing Visual Basic programmer will feel an immediate familiarity with the language.
- Visual Basic 7.0 syntax and semantics are simple, straightforward and easy to understand. The language avoids features that cause unexpected behavior.
- Visual Basic 7.0 allows developers to take advantage of the major features of the NGWS Frameworks and Runtime and is consistent with the its conventions.
- Visual Basic 7.0 is reasonably "upgradeable" from previous versions of Visual Basic. That is, it is possible in a significant number of cases to take existing Visual Basic code and, with a well-defined set of transformations, produce a working Visual Basic 7.0 program.
- Because the NGWS Runtime is explicitly designed to support multiple computer languages, Visual Basic 7.0 is designed to work well in a multi-language environment.
- Visual Basic 7.0 is as compatible with previous versions of Visual Basic as possible. Whenever practical, Visual Basic 7.0 has the same syntax, the same semantics and the same runtime behavior as its predecessors.
These principles complement the original design principles of Visual Basic. For the purpose of completeness those principles were:
- Visual Basic is designed to be as safe a language to write in as possible. In general, Visual Basic tries to balance reliability, ease of use, and efficiency in the definition of the language.
- Visual Basic is designed to be extremely approachable. A reasonable understanding of the language should be attainable by a large portion of computer users and ease of use is significant.
- Visual Basic is designed to enable rapid program development, while not compromising reliability.
- Visual Basic code is predictable and efficient.
- Visual Basic may be used either as a strongly typed language, or as a loosely typed language. This enables rapid development in the latter case, better correctness of user code in the former.
1.4 Guidelines for language changes
In order to move the Visual Basic language forward, it is necessary to
introduce incompatibilities between the Visual Basic 7.0 language and
previous versions of Visual Basic. Because of the potential impact of
language incompatibilities on users, it is done so only when there is a
clear justification. In general, there are only two situations that are
considered serious enough to justify an incompatibility:
- A feature has caused significant confusion or difficultly for Visual Basic programmers, based on the feedback that the Visual Basic team has collected from end users.
- A feature is fundamentally in conflict with the design of the NGWS Frameworks and Runtime.
When designing a feature that is incompatible with previous versions, the
ability to upgrade code from previous versions is taken into consideration,
but is not an absolute requirement.
Source: NGWS SDK Documentation, cpvb.chm, 22 June 2000