Visual Basic Programming Directory @ eIT.in

 

eIT.ineverything IT is in Here   eIT Directory

 

 

 

Hot & Cool

 

SerkaiThe Web Cooperative

 

AntiSEThe Anti Search Engine

 

GeoDigBusinesses by Geography

 

Quali5Own a Keyword Forever

 

FollarsMaking Money from Open  Source

 

Billion Dollar Questions – and answers @ Billdoll.com

 

The Anti Bush Register – sign the register now!

 Advt 

 

eIT.in100’s of categories, 1000’s of IT resources

 

Software

 

Operating Systems, Programming & Development, Databases, Legacy & Mainframe, Internet

Hardware

 

Computer hardware and accessories, performance & maintenance, storage…

Networking & Communications

 

Networking architecture, infrastructure, administration, standards & protocols…

 

IT Infrastructure

 

ITIL, IT infrastructure management…

 

 

IT Support

 

Information technology & software support, administration, software testing, data centers…

 

IT in Industries

 

Information technology & software across industries

 

IT in Functions

 

Information technology & software across functional domains

 

IT Organizations & Industry Network

 

IT associations & organizations, IT related directories and trade networks…(Software Links Exchange)

 

IT Strategy & Design

 

Information technology & software architecture and design, IT strategy

 

IT News & Updates

 

IT news, updates, events & trade shows

IT Outsourcing Assistance


Use our services to locate the right vendor for a wide range of IT & software outsourcing domains

Related Links

 

Mainframes (Mainframe), AML, Analytics, Databases, EAI, BPO, CRM, Legacy, Legacy 2 Web, Middleware, IT Software Outsourcing & Offshoring Directory, Follars

 

 

VB Programming Directory @ eIT.in

 

This section of eIT.in provides web resources for VB programming. 

 

Add Links: If you have a web site that you wish to include in this database, do let us know the details by sending a note about your URL to narsi@esource.in. We’ll quickly review the web site, and if found relevant, add it to the database. We look forward to web site owners and link exchange partners to submit URL. Thanks!  

 

 

Looking for an outsourcing partner for software programming & development? Have you talked to us?

 

 

   

                                                                                                        

..

 

..

 

 

Other IT Web Sites from eIT.in

 

 

Content derived from Wikipedia article on Visual Basic

 

Visual Basic

From Wikipedia, the free encyclopedia

 

 

This article is about the Visual Basic language shipping with Microsoft Visual Studio 6.0 and earlier. For the Visual Basic shipping with Microsoft Visual Studio .NET, see Visual Basic .NET.

Visual Basic 

Paradigm: Event-driven

Developer: Microsoft

Typing discipline: Static, strong

Influenced by: QuickBASIC

Influenced: Visual Basic .NET

OS: Microsoft Windows

 

Visual Basic (VB) is an event driven programming language and associated development environment from Microsoft. VB has been replaced by Visual Basic .NET. The older version of VB was 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. Programs written in Visual Basic can also use the Windows API, but doing so requires external function declarations.

 

In business programming, Visual Basic has one of the largest user bases. According to some sources,[citation needed] as of 2003, 52% of software developers used Visual Basic, making it the most popular programming language at that time. Another point of view was provided by the research done by Evans Data that found that 43% of Visual Basic developers planned to move to other languages.[1] Visual Basic currently competes with PHP and C++ as the third most popular programming language behind Java and C.[2]

 

Contents

 

1 Derivative languages

2 Language features

3 Controversy

3.1 Weaknesses

3.1.1 Performance

3.1.2 Error Handling

3.1.3 Simplicity

3.2 Strengths

3.2.1 Debugging

3.2.2 Simplicity

3.3 Programming constructs not present in Visual Basic

3.4 Characteristics present in Visual Basic

4 Evolution of Visual Basic

4.1 Timeline of Visual Basic (VB1 to VB6)

5 References

6 See also

7 External links

 

 

 

Derivative languages

Microsoft has developed derivatives of Visual Basic for use in scripting. It is derived heavily from BASIC and host applications, and has replaced the original Visual Basic language with a .NET platform version:

 

Visual Basic for Applications (VBA) is included in many Microsoft applications (like Microsoft Office), and also in several third-party products like WordPerfect Office 2002 and ESRI ArcGIS. There are small inconsistencies in the way VBA is implemented in different applications, but it is largely the same language as VB6.

VBScript is the default language for Active Server Pages and can be used in Windows scripting and client-side web page scripting. Although it resembles VB in syntax, it is a separate language and it is executed by the Windows Script Host as opposed to the VB runtime. These differences can affect the performance of an ASP web site (namely inefficient string concatenation and absence of short-cut evaluation). ASP and VBScript must not be confused with ASP.NET which uses Visual Basic.Net or any other language that targets the .NET Common Language Runtime.

Visual Basic .NET is Microsoft's designated successor to Visual Basic 6.0, and is part of Microsoft's .NET platform. The VB.NET programming language is a true object-oriented language that compiles and runs on the .NET Framework. VB.NET is a totally new tool from the ground up, not backwards compatible with VB6. For this reason, it was suggested by Bill Vaughn, and wholeheartedly embraced by the user community, that it ought to have been given an alternative name. Visual Fred (or VFred for short) was the consensus choice. VB.NET ships with a rudimentary utility to convert legacy VB6 code, although the inefficient nature of the resulting code (due to major differences between the two languages) often leads programmers to prefer manual conversion instead. Indeed, automated conversion is seen as a fantasy.

Many users have found that automated conversion of anything more than trivial VB6 programs is essentially impossible, with many TODO's marking incompatible sections. A rewrite does take care of this, but a complete rewrite of a complex program is often not practical for several reasons. First, a small company considering a rewrite must usually choose between spending its budget on new features and maintenance, or on conversion of a static program, which in itself adds no value. Second, a rewrite in a new language means an extensive testing cycle, again an expense with no corresponding market value. As a result, the migration path has not as often been from VB6 to VB.NET, but rather to other languages and platforms such as Java, C# and Delphi.

 

 

Language features

 

A typical session in Microsoft Visual Basic 6Visual Basic was designed to be easy to learn and use. The language not only allows programmers to easily create simple GUI applications, but also has the flexibility to develop fairly complex applications as well. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes and actions of those components, and writing additional lines of code for more functionality. Since default attributes and actions are defined for the components, a simple program can be created without the programmer having to write many lines of code. Performance problems were experienced by earlier versions, but with faster computers and native code compilation this has become less of an issue.

 

Although programs can be compiled into native code executables from version 5 onwards, they still require the presence of runtime libraries of approximately 2 MB in size. This runtime is included by default in Windows 2000 and later, but for earlier versions of Windows it must be distributed together with the executable.

 

Forms are created using drag and drop techniques. A tool is used to place controls (e.g., text boxes, buttons, etc.) on the form (window). Controls have attributes and event handlers associated with them. Default values are provided when the control is created, but may be changed by the programmer. Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application. For example, code can be inserted into the form resize event handler to reposition a control so that it remains centered on the form, expands to fill up the form, etc. By inserting code into the event handler for a keypress in a text box, the program can automatically translate the case of the text being entered, or even prevent certain characters from being inserted.

 

Visual Basic can create executables(EXE), ActiveX controls, DLL files, but is primarily used to develop Windows applications and to interface web database systems. Dialog boxes with less functionality (e.g., no maximize/minimize control) can be used to provide pop-up capabilities. Controls provide the basic functionality of the application, while programmers can insert additional logic within the appropriate event handlers. For example, a drop-down combination box will automatically display its list and allow the user to select any element. An event handler is called when an item is selected, which can then execute additional code created by the programmer to perform some action based on which element was selected, such as populating a related list.

 

Alternatively, a Visual Basic component can have no user interface, and instead provide ActiveX objects to other programs via Component Object Model (COM). This allows for server-side processing or an add-in module.

 

The language is garbage collected using reference counting, has a large library of utility objects, and has basic object oriented support. Since the more common components are included in the default project template, the programmer seldom needs to specify additional libraries. Unlike many other programming languages, Visual Basic is generally not case sensitive, although it will transform keywords into a standard case configuration and force the case of variable names to conform to the case of the entry within the symbol table entry. String comparisons are case sensitive by default, but can be made case insensitive if so desired.

 

 

Controversy

To meet Wikipedia's quality standards, this section may require cleanup.

Please discuss this issue on the talk page, and/or replace this tag with a more specific message. Editing help is available.

This section has been tagged since May 2006.

Visual Basic is seen as 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 explicit variable declaration are turned off by default, something that can be easily changed. This leads to some programmers praising Visual Basic for how simple it is to use, but can also lead to frustration when programmers encounter problems that the features would have detected. For instance, in Visual Basic a common mistake is to incorrectly type the name of a variable, creating a new variable with a slightly different name.

 

 

Weaknesses

 

Performance

Early versions of Visual Basic were not competitive at performing computationally intensive tasks because they were interpreted, and not compiled to machine code. Although this roadblock was removed with VB5 (which compiles to the same intermediate language and uses the same back end as Visual C++[citation needed]), some features of the language design still introduce overhead which can be avoided in languages like Delphi or C++. These are more likely to be encountered in code involving objects, methods, and properties than in strictly numerical code.

 

 

Error Handling

Visual Basic does not have exception handling with the same capabilities of C++ or Java, but the On Error facility does provide nonlocal error handling with features similar to Windows Structured Exception Handling, including the ability to resume after an error (a feature that is not provided by either of the other two languages, although of dubious utility in production code).

 

 

Simplicity

Many critics[citation needed] 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 states, "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 [1]" (Dijkstra was no less scathing about FORTRAN, PL/I, COBOL and APL).

 

 

Strengths

 

Debugging

Visual Basic has a comprehensive set of debugging tools comparable to those available in the Visual C++ products of the same time period. Features include breakpoints, the ability to watch variables and modify watched variables while paused, the ability to modify the point of execution, and the ability to make modifications to code while paused, often not requiring a program restart. Arbitrary code could be executed in the "immediate window", an online interpreter, a very powerful feature. In some cases, these features were more capable than their counterparts in Visual C++—for instance, edit and continue in VC was inspired by the VB feature, and there has never been a VC equivalent of the immediate window.

 

Furthermore, since VB5 it has been possible to generate debug symbols for a native executable and step into VB code in external debuggers, like the Microsoft debugger or the VC debugger, although the implementation of VB objects makes it difficult to debug code that uses them heavily.

 

 

Simplicity

While some detractors argue that the simplicity of Visual Basic is a weakness, 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 from 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.[3] Another source of confusion for new programmers is the different use of parentheses for arguments of functions and subroutines.[4] 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, coupled with the IDE's automatic correction to the case used in the declaration, 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). 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.

 

 

Programming constructs not present in Visual Basic

Many of these features are implemented in Microsoft's replacement for Visual Basic 6 and prior, VB.NET.

 

Inheritance. Visual Basic versions 5 and 6 are not quite object oriented languages as they do not include implementation inheritance. VB5 and 6 do, however, include specification of interfaces. That is, a single class can have as many distinct interfaces as the programmer desires. Visual Basic provides a specific syntax for access to attributes called Property methods, and this is often implemented using getters and setters in C++ or Java. Python has an equivalent notation to VB6's property Let and Get.

Threading support (can be done by using external Windows functions).

C++ or Java exception handling. Error handling is controlled by an "On Error" statement, which provides similar functionality to Windows Structured Exception Handling.

Typecasting. VB instead has conversion functions.

Equivalents to C-style pointers are very limited.

Visual Basic is limited to unsigned 8-bit integers and signed integers of 16 and 32 bits. Many other languages provide wider range of signed and unsigned integers.

32-bit Visual Basic is internally limited to UTF-16 strings, although it provides conversion functions to other formats (16-bit Visual Basic is internally limited to ASCII strings).

Visual Basic doesn't allow constant variables to contain an array. Therefore extra processing is required to emulate this.

While Visual Basic does not naturally support these features, programmers can construct work-arounds to give their programs similar functionality if they desire.

 

 

Characteristics present in Visual Basic

Visual Basic has the following uncommon traits:

 

Boolean constant True has numeric value -1. In most other languages, True is mapped to numeric value 1. This is because the Boolean data type is stored as a 16-bit signed integer. In this construct -1 evaluates to 16 binary 1s (the Boolean value True), and 0 as 16 0s (the Boolean value False). This is apparent when performing a Not operation on a 16 bit signed integer value 0 which will return the integer value -1, in other words True = Not False. This inherent functionality becomes especially useful when performing logical operations on the individual bits of an integer such as And, Or, Xor and Not.

Logical and bitwise operators are unified. This is unlike all the C-derived languages (such as Java or Perl), which have separate logical and bitwise operators.

Variable array base. Arrays are declared by specifying the upper and lower bounds in a way similar to Pascal and Fortran. It is also possible to use the Option Base statement to set the default lower bound. Use of the Option Base statement can lead to confusion when reading Visual Basic code and is best avoided by always explicitly specifying the lower bound of the array. This lower bound is not limited to 0 or 1, because it can also be set by declaration. In this way, both the lower and upper bounds are programmable. In more subscript-limited languages, the lower bound of the array is not variable. This uncommon trait does not exist in Visual Basic .NET and VBScript.

Relatively strong integration with the Windows operating system and the Component Object Model.

Banker's rounding as the default behavior when converting real numbers to integers.

Integers are automatically promoted to reals in expressions involving the normal division operator (/) so that division of an odd integer by an even integer produces the intuitively correct result. There is a specific integer divide operator (\) which does truncate.

By default, if a variable has not been declared or if no type declaration character is specified, the variable is of type Variant. However this can be changed with Deftype statements such as DefInt, DefBool, DefVar, DefObj, DefStr. There are 12 Deftype statements in total offered by Visual Basic 6.0.

 

Evolution of Visual Basic

VB 1.0 was introduced in 1991. The approach for connecting the programming language to the graphical user interface is derived from a prototype developed by Alan Cooper called Tripod. Microsoft contracted with Cooper and his associates to develop Tripod into a programmable shell for Windows 3.0, under the code name Ruby (no relation to the Ruby programming language).

 

Tripod did not include a programming language at all, and Ruby contained only a rudimentary command processor sufficient for its role as a Windows shell. Microsoft decided to use the simple Program Manager shell for Windows 3.0 instead of Ruby, and combine Ruby with the Basic language to create Visual Basic.

 

Ruby provided the "visual" part of Visual Basic—the form designer and editing tools—along with the ability to load dynamic link libraries containing additional controls (then called "gizmos"). Ruby's extensible gizmos later became the VBX interface.

 

 

Timeline of Visual Basic (VB1 to VB6)

Project 'Thunder' was initiated

Visual Basic 1.0 (May 1991) was released for Windows at the Comdex/Windows World trade show in Atlanta, Georgia.

 

Visual Basic for MS-DOSVisual Basic 1.0 for DOS was released in September 1992. The language itself was not quite compatible with Visual Basic for Windows, as it was actually the next version of Microsoft's DOS-based BASIC compilers, QuickBASIC and BASIC Professional Development System. The interface was textual, using extended ASCII characters to simulate the appearance of a GUI.

Visual Basic 2.0 was released in November 1992. The programming environment was easier to use, and its speed was improved. Notably, forms became instantiable objects, thus laying the foundational concepts of class modules as were later offered in VB4.

Visual Basic 3.0 was released in the summer of 1993 and came in Standard and Professional versions. VB3 included version 1.1 of the Microsoft Jet Database Engine that could read and write Jet (or Access) 1.x databases.

Visual Basic 4.0 (August 1995) was the first version that could create 32-bit as well as 16-bit Windows programs. It also introduced the ability to write non-GUI classes in Visual Basic.

With version 5.0 (February 1997), Microsoft released Visual Basic exclusively for 32-bit versions of Windows. Programmers who preferred to write 16-bit programs were able to import programs written in Visual Basic 4.0 to Visual Basic 5.0, and Visual Basic 5.0 programs can easily be converted with Visual Basic 4.0. Visual Basic 5.0 also introduced the ability to create custom user controls, as well as the ability to compile to native Windows executable code, speeding up calculation-intensive code execution.

Visual Basic 6.0 (Mid 1998) improved in a number of areas, including the ability to create web-based applications. VB6 is currently scheduled to enter Microsoft's "non-supported phase" starting March 2008.

Mainstream Support for Microsoft Visual Basic 6.0 ended on March 31, 2005. Extended support will end in March 2008. In response, the Visual Basic user community expressed its grave concern and lobbied users to sign a petition to keep the product alive. Microsoft has so far refused to change their position on the matter. Ironically, around this time, it was exposed that Microsoft's new anti-spyware offering, Microsoft AntiSpyware, was coded in Visual Basic 6.0.[5]. Windows Defender Beta 2 was rewritten as C++/CLI code, as mentioned in Paul Thurrott's review of this product.

 

References

^ Martin LaMonica (2003-05-07). Study: Visual Basic use may be slipping. CNET. Retrieved on 2006-01-25.

^ http://www.tiobe.com/tpci.htm

^ If you want that a, b and c all be an integer, you should write: "Dim a as integer, b as integer, c as integer" or "Dim a%, b%, c%".

^ Parentheses must be used for function arguments. For subroutines, parentheses may not be used unless the optional keyword Call appears before the subroutine name.

^ Andrew Orlowski and Carey Bishop (2005-07-22). MS Anti-Spyware built on MS Abandonware. The Register. Retrieved on 2006-10-04.

 

See also

Comparison of programming languages

REALbasic – provides direct import of Visual Basic 6 projects, often with few changes needed to compile to Windows, Mac and Linux

BlitzMAX – more properly object oriented dialect, compared to Visual Basic

IIf – a function in several editions of Visual Basic that returns one of its two parameters based on the evaluation of an expression. Similar to a conditional statement, or roughly equivalent to the ?: ternary operator of C and related languages.

Properties window

 

External links

Wikibooks Programming has more about this subject:

Visual Basic ClassicVBKeys

VBForums

Utter Access Forums

HashVB Wiki

Beginner Visual Basic 6 tutorials

VB 6.0 at MSDN

VB City

VB Lessons on Free-Ed.net

Visual Basic 6.0 Tutorials by Gilberto E. Urroz

Visual Basic at MSDN (primarily supports the VB.Net version)

Visual Basic Section on About.com

Visual Basic Section on Developer Fusion

Visual Basic Tutorial for Beginners

.VB File Extension Information FileInfo.net

Project Semplice: VB on the Java Virtual Machine

Planet Source Code - A very large collection of free source code

FreeVBCode.com - Free source code collection devoted to Visual Basic

Visual Basic 2005 Express (free edition) net installer

Visual Basic 2005 Express (free edition) cd-image

VB 5 Control Creation Edition, Download free here.

Visual Basic for DOS (Free Edition) Download

VBCode.com Free Visual Basic code snippets and downloads

Hashtable Implementation For VBA and VB6

"The Father of Visual Basic" - History of the "Visual" part of VB

VB Wikia Wiki - Another wiki for visual basic

Retrieved from "http://en.wikipedia.org/wiki/Visual_Basic"

Categories: Articles with unsourced statements | Cleanup from May 2006 | Programming languages | Imperative programming languages | Procedural programming languages | BASIC programming language family | Microsoft BASIC | Microsoft Visual Studio | Microsoft development tools

 

End of Wikipedia content, http://en.wikipedia.org/wiki/Visual_Basic

 

Content derived from Visual Basic .NET

 

Visual Basic .NET

From Wikipedia, the free encyclopedia

 

 

Visual Basic .NET 

Paradigm: structured, imperative, object-oriented

Appeared in: 2001 (last revised 2005)

Designed by: Microsoft Corporation

Typing discipline: dynamic, strong, unsafe[1], nominative

Major implementations: .NET Framework, Mono

Dialects: Microsoft Visual Studio .NET, .NET 2003, 2005

Influenced: None

 

Visual Basic .NET (VB.NET) is an object-oriented computer language that can be viewed as an evolution of Microsoft's Visual Basic (VB) implemented on the Microsoft .NET framework. Its introduction has been controversial, as significant changes were made that broke backward compatibility with VB and caused a rift within the developer community.

 

The great majority of VB.NET developers use Visual Studio .NET as their integrated development environment (IDE). SharpDevelop provides an open-source alternative IDE.

 

Like all .NET languages, programs written in VB.NET require the .NET framework to execute.

 

 

 

1 Versions of Visual Basic .NET

1.1 Visual Basic .NET

1.2 Visual Basic .NET 2003

1.3 Visual Basic 2005

1.3.1 IsNot Patent

1.3.2 Visual Basic 2005 Express

2 Relation to Visual Basic

2.1 Comparative samples

2.2 Controversy

3 Cross-platform and open-source development

4 Hello World Example

5 Notes

6 See also

7 External links

7.1 Tutorials

 

 

 

Versions of Visual Basic .NET

As of November 2006 there are three versions of Visual Basic .NET.

 

 

Visual Basic .NET

The original Visual Basic .NET was released alongside Visual C# and ASP.NET in 2002. C# — widely touted as Microsoft's answer to Java — received the lion's share of media attention, while VB.NET (sometimes known as VB7) was not widely covered. As a result, few outside the Visual Basic community paid much attention to it.[citation needed]

 

Those who did try the first version found a powerful but very different language under the hood, with disadvantages in some areas, including a runtime that was ten times as large to package as the VB6 runtime and an increased memory footprint.[citation needed]

 

 

Visual Basic .NET 2003

Visual Basic .NET 2003 was released with version 1.1 of the .NET Framework. 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 the .NET IDE (particularly the background compiler) and runtime.

 

In addition, Visual Basic .NET 2003 was also available in the Visual Studio .NET 2003 Academic Edition (VS03AE). VS03AE is distributed to a certain number of scholars from each country for free.

 

 

Visual Basic 2005

Visual Basic 2005 is the next iteration of Visual Basic .NET, Microsoft having decided to drop the .NET portion of the title.

 

For this release, Microsoft added many features in an attempt to reintroduce some of the ease of use that Visual Basic is famous for — or infamous, with respect to "newbie" programmers — including:

 

Edit and Continue - probably the biggest "missing feature" from Visual Basic, allowing the modification of code and immediate resumption of execution

Design-time expression evaluation

The My pseudo-namespace (overview, details), which provides:

easy access to certain areas of the .NET Framework that otherwise require significant code to access

dynamically-generated classes (notably My.Forms)

Improvements to the VB-to-VB.NET converter [2]

The Using keyword, simplifying the use of objects that require the Dispose pattern to free resources

Just My Code, which hides boilerplate code written by the Visual Studio .NET IDE

Data Source binding, easing database client/server development

The above functions (particularly My) are intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#.

 

Visual Basic 2005 introduced features meant to fill in the gaps between itself and other "more powerful" .NET languages, adding:

 

.NET 2.0 languages features such as:

generics [3]

Partial classes, a method of defining some parts of a class in one file and then adding more definitions later; particularly useful for integrating user code with auto-generated code

Nullable Types

XML comments that can be processed by tools like NDoc to produce "automatic" documentation

operator overloading [4]

Support for unsigned integer data types commonly used in other languages

 

IsNot Patent

One other feature of Visual Basic 2005 is the conversion of If Not X Is Y to If X IsNot Y which gained notoriety [5] when it was found to be the subject of a Microsoft patent application [6].

 

 

Visual Basic 2005 Express

 

Visual Basic 2005 Express - Microsoft's free development application.As part of the Visual Studio product range, Microsoft has created Visual Studio 2005 Express Editions for hobbyists and novices. One of these editions is Visual Basic 2005 Express Edition. The English edition is free to download from Microsoft. [7]

 

The Express Editions are targeted specifically for people learning a language. They have a streamlined version of the user interface, and lack more advanced features of the standard versions. On the other hand, Visual Basic 2005 Express Edition does contain the Visual Basic 6.0 converter, so it is a reasonable way to evaluate feasibility of conversion from older versions of Visual Basic.

 

 

Relation to Visual Basic

Whether Visual Basic .NET should be considered as just another version of Visual Basic or a completely different language is a topic of debate. This is not obvious, as once the methods that have been moved around and which can be automatically converted are accounted for, the basic syntax of the language has not seen many "breaking" changes, just additions to support new features like structured exception handling and short circuited expressions. One simple change that can be confusing to previous users is that of Integer and Long data types, which have each doubled in length; a 16-bit integer is known as a Short in VB.NET, while Integer and Long are 32 and 64 bits respectively. Similarly, the Windows Forms GUI editor is very similar in style and function to the Visual Basic form editor.

 

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. Some functions and libraries no longer exist; others are available, but not as efficient as the "native" .NET alternatives. Even if they compile, most converted VB6 applications will require some level of refactoring to take full advantage of the new language. Extensive documentation is available to cover changes in the syntax, debugging applications, deployment and terminology.

 

 

Comparative samples

The following simple example demonstrates similarity in syntax between VB and VB.NET. Both examples pops a message box saying "Hello, World" with an OK button.

 

Classic VB example:

 

Private Sub Command1_Click()

    MsgBox "Hello, World"

End Sub

A VB.NET example:

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    MessageBox.Show("Hello, World")

End Sub

Note that all procedure calls must be made with parentheses in VB.NET, whereas these were only required for function calls (however in VB6 they could be used in procedure calls as well by using the Call keyword)

Also note that the names Command1 and Button1 are not obligatory. However, these are default names for a command button in VB6 and VB.NET respectively.

Actually, there is a function called MsgBox in the Microsoft.VisualBasic namespace, but the System.Windows.Forms.MessageBox class is a preferred way of displaying message boxes since it has more features and is less language-specific.

The following example demonstrates a difference between VB6 and VB.NET. Both examples unload the active window.

 

Classic VB Example:

 

Private Sub cmdClose_Click()

    Unload Me

End Sub

A VB.NET example:

 

Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click

    Me.Close()

End Sub

Another useful example of the 'Me' namespace; this example shows the differences between changing opacity in VB6 and VB.net over time.

 

VB6 Example:

 

Private Sub Timer1_Tick()

    Form1.Opacity = Form1.opacity - 0.01

End Sub

VB.NET example:

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    Me.Opacity -= 0.01

End Sub

This gives another example of the numerous uses the 'Me' namespace has, as well as how it can increase workflow by having a lot of useful methods available so quickly.

 

 

Controversy

Many long-time Visual Basic programmers have complained [8] about Visual Basic .NET, because initial versions dropped a large number of language constructs and user interface features [9] that were available in VB6 (which is now no longer sold), and changed the semantics of those that remained; for example, in VB.NET parameters are (by default) passed by value, not by reference. Detractors refer pejoratively to VB.NET as Visual Fred or DOTNOT.[citation needed] On March 8 2005, a petition [10] was set up in response to Microsoft's refusal to extend its mainstream support [11] for VB6 at the end of that month.

 

VB.NET's supporters state that the new language is in most respects more powerful than the original, incorporating modern object oriented programming paradigms in a more natural, coherent and complete manner than was possible with earlier versions. Opponents tend not to disagree with this, instead taking the position that although VB6 has flaws in its object model, the cost in terms of redevelopment effort is too high for any benefits that might be gained by converting to VB.NET. Independent developers producing software for Internet distribution have also taken issue with the size of the runtime.

 

It is simpler to decompile languages that target Microsoft Intermediate Language, including VB.NET, compared to languages that compile to machine code. Tools like .NET Reflector can provide a close approximation to the original code due to the large amount of metadata provided in MSIL.

 

Microsoft supplies an automated VB6-to-VB.NET converter with Visual Studio .NET, which has improved over time, but it cannot convert all code, and almost all non-trivial programs will need some manual effort to compile. Most will need a significant level of refactoring to work optimally. Visual Basic programs that are mainly algorithmic in nature can be migrated with few difficulties; those that rely heavily on such features as database support, graphics, unmanaged operations or on implementation details are more troublesome.

 

In addition, the required runtime libraries for VB6 programs are provided with Windows 98 SE and above, while VB.NET programs require the installation of the significantly larger .NET Framework. The framework is included with Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition and Windows Server 2003. For other supported operating systems such as Windows 2000 or Windows XP (Home or Professional Editions), it must be separately installed.

 

Microsoft's response to developer dissatisfaction has focused around making it easier to move new development and shift existing codebases from VB6 to VB.NET. Their latest offering is the VBRun website, which offers code samples and articles for:

 

completing common tasks in VB6, like creating a print preview

integrating VB6 and VB.NET solutions (dubbed VB Fusion)

converting VB6 code to VB.NET

 

Cross-platform and open-source development

The creation of open-source tools for VB.NET development have been slow compared to C#, although the Mono development platform provides an implementation of VB.NET-specific libraries and is working on a compiler, as well as the Windows Forms GUI library.[citation needed]

 

 

Hello World Example

The following is a very simple VB.Net program, a version of the classic "Hello world" example:

 

Public Class ExampleClass

 

        Public Shared Sub Main()

                System.Console.WriteLine("Hello, world!")

        End Sub

 

End Class

The effect is to write the text Hello, world! to the output console. Each line serves a specific purpose, as follows:

 

Public Class ExampleClass

This is a class definition. It is public, meaning objects in other projects can freely use this class. All the information between this and the following End Class describes this class.

 

Public Shared Sub Main()

This is the entry point where the program begins execution. It could be called from other code using the syntax ExampleClass.Main(). (The Public Shared portion is a subject for a slightly more advanced discussion.)

 

System.Console.WriteLine("Hello, world!")

This line performs the actual task of writing the output. Console is a system object, representing a command-line console where a program can input and output text. The program calls the Console method WriteLine, which causes the string passed to it to be displayed on the console.

 

 

Notes

^ Only if strict type checking (Option Strict) is not enabled. Many VB.NET developers assert that strict type checking must be enabled in all new projects and only disabled for legacy code converted by the Upgrade Wizard.

^ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/VBUpgrade.asp

^ http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnvs05/html/vb2005_generics.asp

^ http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnvs05/html/vboperatoroverloading.asp

^ http://www.theregister.co.uk/2005/02/22/real_slams_ms_patent/

^ http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040230959%22.PGNR.&OS=DN/20040230959&RS=DN/20040230959

^ http://www.microsoft.com/presspass/press/2006/apr06/04-19VSExpressFreePR.mspx

^ http://www.mvps.org/vb/index2.html?rants/vfred.htm

^ http://vb.mvps.org/vfred/breaks.asp

^ http://classicvb.org/petition/

^ http://msdn.microsoft.com/vbasic/support/vb6.aspx

 

See also

Wikibooks Programming has more about this subject:

Visual Basic .NETMicrosoft Visual Studio

Visual Basic

Microsoft .NET

ASP.NET

C#

REALbasic

 

External links

Microsoft's VB.NET website

Visual Basic 2005 Express Edition website

VBRun website - legacy VB6 resources from Microsoft

SharpDevelop - a free IDE for VB.NET, C# and Boo programming language

Mono implementation of VB.NET

Doing Objects in VB.NET and C#, a free eBook

Free source code for VB.NET programmers

Visual Basic 2005 Learning Guide From SearchVB.com

Xtreme Visual Basic Talk forums

developerfood.com Directory of Visual Studio components and controls

 

 

 

 

Tutorials

Startvbdotnet.com Free VB.NET Tutorials

VB @ The Movies(Free video tutorials from Microsoft)

Free Video Tutorials from MSDN

Free VB.NET 2005 Tutorials

Programming in Visual BASIC

Retrieved from http://en.wikipedia.org/wiki/Visual_Basic_.NET

 

End of Wikipedia content, http://en.wikipedia.org/wiki/Visual_Basic_.NET

 

 

Web Resources for Visual Basic Programming

 

 

 

 

More eIT.in References

 

 

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

§         V

·         Verilog

·         Virtual Reality Modelling Language (VRML)

·         Visual

·         Visual Basic Programming

·         Visual C++ Programming

 

 

Main Sections @ eIT.in

 

·          Free & Open Source Software

·          Operating Systems

o        Mainframe & Legacy Operating Systems

·         Midrange

·         Mainframe Operating Systems

·          Databases

·          Programming & Development Directory

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

·          Internet & Web

§         Web Servers

§         Application Servers

§         Server Side Scripting

§         Web Services

 

 

 

 

About eIT.in

 

eIT.in is a comprehensive directory for everything IT & Software. It contains over 500 categories, and well over 10,000 web resources

 

eIT.in provides directory and web links resources for the IT, software, programming & software development domains. It is intended to be useful for application, applications programmers & developers, software technology programmer & developer, databases software development, administrators & DBAs, application developers, strategy architect, design specialists and architects, migration, integration, customization consultants and customisation analysts, administration, maintenance & support professionals, outsourcing consultant, bespoke solutions programming developers & coders, project management & functional analyst, and for system administrators, testing & quality control engineers. It will make an effort to provide resources on tutorial/tutorials, guide, guides, tips, faq, faqs on these topics.

 

eIT.in content is available under GPL: All directory content at mainframe.in is under the General Public License (GPL). Under this license, anyone is free to copy & use any amount of directory content @ eIT.in, make changes to it and use it in any way they wish, as long as they also allow the same rights to anyone else for this content. The concept of GPL has been adapted from the GNU GPL of the Free Software Movement. To those who wish to use content from eIT.in, our only request is that they acknowledge the source and provide a link back to eIT.in. This is only a request!

 

Countries & Cities Where eIT.in Provides Assistance

 

eIT Cities: Bangalore, Chennai, Mumbai, Bhubaneswar, Mysore, Kolkaka, Delhi, Pune, Trivandrum, Hyderabad

 

You are the $$$ Section of eIT.in

 

Reference

 

GeoDig – Get Local!

 

Have you checked out the GeoDig directories for over 30 countries? GeoDig provides useful local and regional web resources for over 200 cities around the world. See the list of cities and countries for which GeoDig provides locality-specific web resources.

 

North America

USA - Alabama (AL) > Birmingham; Alaska; Arkansas (AR) > Little Rock; Arizona (AZ) > Phoenix, Las Vegas, Tucson; California (CA) > Los Angeles, San Francisco, Sacramento, Fresno, Bakersfield; Colorado, CO > Denver; Connecticut, CT > Hartford; District of Columbia, DC > Washington DC; Delaware (DE) > Wilmington; Florida > Miami, Orlando, Tampa, Orlando, Sarasota, West Palm Beach, Jacksonville; Georgia > Atlanta; Hawaii > Honolulu; Idaho; Illinois > Chicago; Indiana > Indianapolis; Iowa; Kansas (KS); Kentucky (KY) > Louisville; Louisiana (LA) > New Orleans, Baton Rouge; Maine; Maryland (MD) > Baltimore; Massachusetts > Boston, Springfield; Michigan > Detroit, Grand Rapids; Minnesota > Minneapolis-St. Paul; Mississippi (MS); Missouri (MO) > Kansas City, St. Louis; Montana; Nebraska (NE) > Omaha; Nevada (NV) > Las Vegas; New Hampshire; New Jersey (NJ) > Jersey City, Newark; New Mexico (NM) > Albuquerque; New York > New York, Buffalo, Rochester, Albany, Syracuse; North Carolina (NC) > Raleigh-Durham, Charlotte, Greensboro; North Dakota; Ohio> Columbus, Cincinnati, Cleveland, Toledo, Youngstown, Dayton; Oklahoma (OK) > Oklahoma City, Tulsa; Oregon > Portland; Pennsylvania > Philadelphia, Allentown, Pittsburgh, Harrisburg, Scranton, ; Rhode Island (RI) > Providence; South Carolina (SC) > Greenville; South Dakota; Tennessee (TN) > Knoxville, Memphis, Nashville; Texas > Austin, Dallas, Houston, San Antonio, El Paso, Austin, McAllen; Utah (UT) > Salt Lake City; Vermont; Virginia (VA) > Norfolk, Richmond; Washington > Seattle; West Virginia; Wisconsin (WI) > Milwaukee; Wyoming

Canada - Vancouver, Montreal, Toronto, Calgary, Ottawa-Gatineau, Edmonton, Quebec City, Winnipeg, Hamilton, London

 

You are the $$$ Section of eIT.in

 

Europe - UK - London, Glasgow, Manchester, Birmingham, Liverpool, Sheffield, Leeds, Bristol, Edinburgh, Leicester; France - Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux; Germany - Frankfurt (Frankfurt am Main), Munich (München), Berlin, Düsseldorf, Hamburg, Cologne (Köln), Essen, Dortmund, Stuttgart, Bremen, Duisburg, Hannover, Nürnberg (Nuremberg), Dresden, Leipzig; Italy - Milan (Milano), Rome (Roma), Napoli (Naples), Torino (Turin), Palermo, Bologna, Firenze (Florence), Genova (Genoa); Spain - Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Malaga, Murcia, Las Palmas, Bilbao; Scandinavia - Finland - Helsinki (Helsingin), Espoo, Tampere (Tampereen), Vantaa, Turku, Oulu, Sweden - Stockholm, Goteborg (Göteborg), Malmo (Malmö), Uppsala, Vasteras (Västerås), Denmark - Copenhagen (Københavns), Aarhus (Århus), Odense, Aalborg (Ålborg), Norway - Oslo, Bergen, Stavanger, Trondheim; Benelux - Belgium - Brussels (Brussel), Antwerp (Antwerpen), Ghent (Gent, Gand), Charleroi, Liège (Liege), Netherlands - Amsterdam, Rotterdam, Utrecht, Eindhoven, Tilburg, ‘s-Gravenhage (sGravenhage), Groningen, Luxembourg - Luxembourg City; PortugalLisbon; GreeceAthens; HungaryBudapest; PolandWarsaw; Switzerland - Zürich (Zurich), Geneva (Geneve, Genève), Basel, Bern (Berne), Lausanne; Austria - Linz, Vienna (Wien), Graz, Linz, Salzburg, Innsbruck; IrelandDublin

 

Asia - India - Mumbai, New Delhi, Bangalore; China & Hong Kong - Hong Kong, Beijing, Shanghai, Tianjin, Wuhan, Shenyang, Guangzhou, Harbin, Xian; Japan - Tokyo, Osaka, Yokohama, Nagoya, Sapporo, Kyoto, Kobe, Fukuoka, Kawasaki, Hiroshima; South Korea - Seoul, Pusa, Taegu, Incheon, Taejeon, Taiwan - Taipei; Malaysia - Kuala Lumpur; Singapore; Russia - Moscow, St Petersburg

 

You are the $$$ Section of eIT.in

 

Middle East - Turkey - Istanbul, Israel - Tel Aviv

 

Oceania - Australia - Sydney, Melbourne, Brisbane, Perth, Adelaide

 

Africa - South Africa - Johannesburg, Cape Town, Durban

 

 

 

 

© 2006, From eIT.ineverything IT is in Here

 

eIT.in is a product of eSource India & Sourcing India

 

Other eSource & Sourcing sites: IT & Software (Dir, SAP), BPO, Chemicals, Textiles, Plant Oils, dotMobi, Billion Dollar Questions,

Biodiesel Encyclopedia, Linens, ideOS, Follars – Free, Open-source Dollars, Quali5.com – Own A Keyword Forever, AntiSE, Serkai, Leather & Hide, GeoDig