In addition, the .NET Framework SDK includes a freeware command-line compiler called vbc.exe.
The Windows Forms library is most commonly used to create GUI interfaces in Visual Basic.
This provides the minimal functionality of a user interface element such as location, size, color, font, text, as well as common events like click and drag/drop.
Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application.
As part of that evaluation, functions or subroutines may be called and variables may be assigned new values.
Modules serve as containers of code that can be referenced from other parts of a program.
[10] This piece of code outputs Floyd's Triangle to the console: Whether Visual Basic .NET should be considered as just another version of Visual Basic or a completely different language is a topic of debate.
There are new additions to support new features, such as structured exception handling and short-circuited expressions.
The things that have changed significantly are the semantics—from those of an object-based programming language running on a deterministic, reference-counted engine based on COM to a fully object-oriented language backed by the .NET Framework, which consists of a combination of the Common Language Runtime (a virtual machine using generational garbage collection and a just-in-time compilation engine) and a far larger class library.
The increased breadth of the latter is also a problem that VB developers have to deal with when coming to the language, although this is somewhat addressed by the My feature in Visual Studio 2005.
The changes have altered many underlying assumptions about the "right" thing to do with respect to performance and maintainability.
Even if they compile, most converted Visual Basic 6 applications will require some level of refactoring to take full advantage of the new language.
Documentation is available to cover changes in the syntax, debugging applications, deployment and terminology.
Each example creates a "Hello, World" message box after the button on the form is clicked.
[13] They compile to the same intermediate language (IL), which runs against the same .NET Framework runtime libraries.
[14] Although there are some differences in the programming constructs, their differences are primarily syntactic and, assuming one avoids the Visual Basic "Compatibility" libraries provided by Microsoft to aid conversion from Visual Basic 6, almost every feature in VB has an equivalent feature in C# and vice versa.
Lastly, both languages reference the same Base Classes of the .NET Framework to extend their functionality.
As a result, with few exceptions, a program written in either language can be run through a simple syntax converter to translate to the other.
The most important feature is managed code, which contrasts with the classic Visual Basic.
New features included support for the .NET Compact Framework and a better VB upgrade wizard.
Improvements were also made to the performance and reliability of .NET IDE (particularly the background compiler) and runtime.
For this release, Microsoft added many features intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#., including: To bridge the gaps between itself and other .NET languages, this version added: Visual Basic 2005 introduced the IsNot operator that makes 'If X IsNot Y' equivalent to 'If Not X Is Y'.