Visual Basic (classic) and Shattered (Star Trek: Voyager): Difference between pages

(Difference between pages)
Content deleted Content added
 
m Plot summary (a.k.a. spoiler): removing redundancy, correcting spelling
 
Line 1:
{{ST episode|
{{Infobox programming language
name = Shattered|
|name = <!-- Unsourced image removed: [[Image:Vb6icon.GIF|32px|VB6 Icon]] -->Visual Basic
image = [[Image:ST-VOY_7_11.jpg|270px]]<br />Chakotay is out of phase|
|logo = [[Image:VB cover.png|200px|The four colored boxes is the logo of [[Visual Basic for Applications|VBA]], and the two drums above them symbolize database connectivity]]
series = VOY|
|paradigm = [[Event-driven programming|Event-driven]]
|year ep_num = 157|
prod_num = 257|
|designer =
date = [[January 17]], [[2001]]|
|developer = [[Microsoft]]
writer = [[Mike Sussman (TV series writer/producer)|Mike Sussman]]<br>[[Michael Taylor (screenwriter)|Michael Taylor]]|
|latest_release_version =
director = [[Terry Windell]]|
|latest_release_date =
guest = [[Manu Intiraymi]] as Icheb<br>[[Martha Hackett]] as Seska<br> [[Scarlett Pomers]] as Naomi Wildman<br> [[Martin Rayner]] as Dr. Chaotica|
|typing = [[Type system#Static and dynamic typing|Static]], [[Strongly-typed programming language|strong]]
year = 2377|
|implementations =
|dialects stardate = ?|
prev = [[Flesh and Blood (Voyager episode)|Flesh and Blood, Part II]]|
|influenced_by = [[QuickBASIC]]
next = [[Lineage (Voyager episode)|Lineage]]
|influenced = [[Visual Basic .NET]]
|operating_system = [[Microsoft Windows]]
|license =
|website =
}}
'''Shattered''' is an episode of the TV series ''[[Star Trek: Voyager]]'', the eleventh episode of the seventh season
{{dablink|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]].}}
==Plot summary (a.k.a. spoiler)==
 
Chakotay encounters [[Icheb]] and [[Naomi Wildman]] in Cargo Bay 2. Naomi is enjoying the puzzle they are playing with, as Icheb misunderstands it as a teaching tool. Chakotay tells Icheb of his cider stash and how he wishes Neelix will not find it. Icheb suggests storing it with the Borg spare parts as Neelix does not care to examine that section.
'''Visual Basic''' ('''VB''') is an [[event driven programming language]] and associated [[integrated development environment|development environment]] prototyped by [[Alan Cooper]] as Project Ruby, then bought and vastly expanded by [[Microsoft]]. VB has been replaced by [[Visual Basic .NET]]. The older version of VB was derived heavily from [[BASIC programming language|BASIC]] and enables [[rapid application development|rapid application development (RAD)]] of [[graphical user interface|graphical user interface (GUI)]] applications, access to [[database]]s using [[Data Access Objects|DAO]], [[Remote Data Objects|RDO]], or [[ActiveX Data Objects|ADO]], and creation of [[ActiveX]] controls and objects.
 
Later, an exploding nebula affects the warp core and Chakotay is hit with a blast of energy.
A programmer can put together an application using the [[software component|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{{fact}}, 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.<ref>{{cite web| url=http://news.com.com/Study+Visual+Basic+use+may+be+slipping/2100-1007_3-1000011.html| title = Study: Visual Basic use may be slipping | CNET News.com| accessdate = 2006-01-25| publisher = CNET| author = Martin LaMonica | year = [[2003-05-07]]}}</ref>
 
He awakens in the Doctor's sickbay and is astonished to discover the Doctor believes it is now several years earlier. Chakotay explores the ship and realizes that it is fractured into many differing time periods. The Doctor's treatment of him, realigning his body with a chroniton serum, allows Chakotay to pass through the time barriers.
==Derivative languages==
[[Microsoft]] has developed derivatives of Visual Basic for use in [[Scripting language|scripting]]. It is derived heavily from [[BASIC programming language|BASIC]] and host [[Application software|applications]], and has replaced the original Visual Basic language with a [[.NET Framework|.NET]] platform version:
 
During his exploration, he finds Engineering is in control of Seska and Kazon forces. He is beaten and detained by them but manages to escape as the upper level of Engineering is in a different time period all together. The bridge of the ship is a few days before the Caretaker incident, so Chakotay is regarded as a spy. He is detained and taken to the brig. He escapes when the security men who arrest him do not follow him through time as they do not have the serum.
* [[Visual Basic for Applications]] (VBA) is included in many Microsoft applications (like [[Microsoft Office]]), and also in several third-party products like [[WordPerfect Office|WordPerfect Office 2002]] and [http://www.esri.com/software/arcgis/about/desktop.html ESRI ArcGIS]. There are small inconsistencies in the way VBA is implemented in different applications, but it is largely the same language as VB6.
 
He eventually gains more of the serum. He again finds Kathryn Janeway on the bridge. Janeway, a guard and Chakotay talk in her ready room. Despite his knowledge of her past, he is not implicitly believed. He manages to take Kathryn hostage and injects her with the serum. They pass through a time barrier, leaving Janeway's guard Andrews unable to see her. This convinces Janeway to help Chakotay.
* [[VBScript programming language|VBScript]] is the default language for [[Active Server Pages]] and can be used in [[Microsoft Windows|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]].
 
Their efforts reveal they must inject the serum into the bio-nueral gel-packs on many areas of the ship. If successful, Chakotay will find himself in his right time and be able to stop the time-fracturing.
* [[Visual Basic .NET]] is Microsoft's designated successor to Visual Basic 6.0, and is part of Microsoft's [[.NET Framework|.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. [http://vfred.mvps.org Visual Fred] (or VFred for short) was the concensus 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 [http://www.devx.com/vb/article/16822 fantasy].
 
In the process, he refers to several episodes from the past seven years. Janeway begins to second-guess decisions she hasn't even made yet, especially after learning her human doctor will soon perish. She knows she started with 153 crewmen and struggles with wanting to know how many more she will lose. After a close encounter with the macroviruses, she becomes convinced that entering the Delta Quadrant at all is wrong, as it is a 'gigantic deathtrap'. Chakotay convinces her not to alter the timeline to avoid stranding the ship in the Delta Quadrant.
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 [http://www.joelonsoftware.com/articles/fog0000000069.html 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.
 
During the course of this they visit many areas and time periods. Cargo Bay 2 is from when the Borg have formed an alliance with Voyager. They meet [[Seven of Nine]] who is still part of the collective. Astometrics, a section the younger Janeway did not know existed, is staffed by a much older Icheb and Naomi Wildman, both wearing Starfleet uniforms. Both are shocked as, according to their points of view, both Chakotay and Janeway had died long ago. Icheb reveals he had never exposed the ___location of the cider.
==Language features==
[[Image:Typical vb6 session.png|thumbnail|300px|A typical session in Microsoft Visual Basic 6]]
Visual 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 [[computer code|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.
 
Both Astrometics and Cargo Bay 2 have provided vital information to the problems, but the next few sections provide many dangers. The Transporter room is filled with angry Maquis, led by Torres, who do not trust the two. The holodeck, which is malfunctioning, is running a dangerous [[Captain Proton]] program, which Janeway must talk herself out of. Again, Chakotay must visit Engineering. He enters it alone. Seska decides to realign Voyager with her time period and use the knowledge of the future to guarantee she will keep control.
Although programs can be compiled into native code executables [[#Timeline|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 [[Microsoft Windows|Windows]] it must be distributed together with the executable.
 
It does not work. Janeway had organized a resistance movement from all corners of time and ship. Borg-Seven, early Harry and Tom, the Maquis and future Icheb and Naomi, all injected with Chakotay's serum, help defeat Seska's forces and allow the plan to go forward.
Forms are created using [[drag and drop]] techniques. A tools palette is used to place controls (e.g., text boxes, buttons, etc.) on the form (window). Controls have [[attribute]]s and [[event handler]]s 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.
 
In a few seconds the ship is back to the origanal time and Chakotay manages to stop the distarer. When Janeway asks him why he turned the deflector dish into a giant lightning rod he say he can't tell her because of the [[temporal prime directive]]. Later, Chakotay has dinner with the Janeway, who lets on that she knows the ___location of Chakotay's cider stash but can't tell him how she knows because of the temporal prime directive.
Visual Basic can create executables(EXE), [[ActiveX Control|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.
 
==Notes==
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.
 
As a final season episode, "Shattered" was intended as an affectionate look back at the series, referencing various earlier plot lines and bringing back long-gone alien threats like the [[Kazon]] and characters like [[Seska]]. The following past episodes are specifically referenced: "[[Caretaker (Voyager episode)|Caretaker]]", "[[Basics (Voyager episode)|Basics]]", "[[Macrocosm (Voyager episode)|Macrocosm]]", "[[Scorpion (Voyager episode)|Scorpion]]", etc. There are also moments humorously referencing recurring plot elements; in one scene, Chakotay finds the entire crew asleep, and notes that this has happened on a number of occasions.
The language is [[garbage collection (computer science)|garbage collected]] using [[reference counting]], has a large library of utility objects, and has basic [[Object-oriented programming|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==
{{cleanup-section|May 2006}}
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 [[Compiler|compile]] time [[type-checking]] and 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 ===
==== Debugging ====
 
Visual Basic 6.0 has a very basic set of debugging tools like breakpoints and "Full Compile" testing which can point out errors with accuracy. When stopped at a breakpoint, the user may specify the next statement to be executed, and can even modify code, often not requiring a program restart. The On Error Goto statement provides very basic error handling which was depreciated in Visual Basic.Net. With the advent of Visual Basic.Net and later 2005 version, a more robust and powerful debugging toolset was introduced. Microsoft introduced better Exception Handling with .Net using Try Catch and Try Catch Finally blocks. Granular control over what type of exceptions where caught and how to handle the exceptions as well as the ability (but avoided) to throw an exception manually.
 
==== Simplicity ====
 
Many critics{{fact}} 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 learnt 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 programming language|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 [http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html]." (Dijkstra was no less scathing about [[FORTRAN]], [[PL/I]], [[COBOL]] and [[APL programming language|APL]].)
 
=== Strengths ===
 
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 [[database]]s, 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. 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). 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, [[Visual Basic .NET|VB.NET]].
* [[inheritance (computer science)|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 programming language|Java]]. Python has an equivalent notation to VB6's property Let and Get.
* [[Thread (computer science)|Threading]] support. (Can be done by using external Windows functions)
* Structured [[exception handling]]. Error handling is controlled by an "<code>On Error</code>" statement.
* Built-in support for [[Bitwise operation#Bit Shift|bit shifting]].
* [[Typecasting (programming)|Typecasting]]. VB instead has conversion functions.
* Equivalents to [[C programming language|C]]-style [[pointer]]s are very limited.
* Visual Basic is limited to unsigned 8-bit integers and signed [[Integer (computer science)|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 datatype|Boolean]] constant <tt>True</tt> has numeric value -1. In most other languages, <tt>True</tt> 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 <tt>True</tt>), and 0 as 16 0s (the Boolean value <tt>False</tt>). This is apparent when performing a <tt>Not</tt> operation on a 16 bit signed integer value 0 which will return the integer value -1, in other words <tt>True = Not False</tt>. This [http://vb.mvps.org/tips/Truth.asp inherent functionality] becomes especially useful when performing logical operations on the individual bits of an integer such as <tt>And</tt>, <tt>Or</tt>, <tt>Xor</tt> and <tt>Not</tt>.
* Logical and bitwise operators are unified. This is unlike all the C-derived languages (such as [[Java programming language|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. 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 doesn't exist in [[Visual Basic .NET]] and [[VBScript]].
* Relatively strong integration with the [[Windows operating system]].
* [[Rounding#Round-to-even method|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 <tt>Variant</tt>. However this can be changed with Deftype statements such as <tt>DefInt</tt>, <tt>DefBool</tt>, <tt>DefVar</tt>, <tt>DefObj</tt>, <tt>DefStr</tt> to name a few. 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 system called ''Tripod'' (sometimes also known as ''Ruby''), originally developed by [[Alan Cooper]], which was further developed by Cooper and his associates under contract to Microsoft.
 
===Timeline of Visual Basic (VB1 to VB6)===
* Visual Basic 1.0 (May [[1991]]) was released for Windows.
[[Image:VBDOS-icon.PNG|right|VB DOS Logo]]
[[Image:Microsoft Visual Basic for MS-DOS (Professional Edition Version1.00).png|thumb|right|300px|Visual Basic for MS-DOS]]
* Visual 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, [[Microsoft QuickBASIC compiler|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. VB 3 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 [http://msdn.microsoft.com/vbrun/support.aspx 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 [http://www.classicvb.org/petition/ 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. Windows Defender Beta 2 was rewritten as C++/CLI code, as mentioned in Paul Thurrott's [http://www.winsupersite.com/reviews/windefender_beta2.asp review] of this product.
 
==References==
<references />
 
==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]] &mdash; 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.
 
==External links==
{{memoryalpha|Shattered|"Shattered"}}
{{wikibookspar|Programming|Visual Basic Classic}}
*[http://www.startrek.com/startrek/view/series/VOY/episode/114111.html Episode summary from Startrek.com]
*[http://www.utteraccess.com Utter Access Forums]
{{Time travel stories}}
*[http://www.earlsoft.co.uk/hashvb/ HashVB Wiki]
*[http://aphnetworks.com/tutorials Beginner Visual Basic 6 tutorials]
*[http://msdn.microsoft.com/vbrun/default.aspx VB 6.0 at MSDN]
*[http://www.vbcity.com/ VB City]
*[http://www.free-ed.net/free-ed/InfoTech/vb01/ VB Lessons on Free-Ed.net]
*[http://www.engineering.usu.edu/cee/faculty/gurro/Classes/Classes_Spring2002/VBGradClass/VBGradClass.htm Visual Basic 6.0 Tutorials by Gilberto E. Urroz]
*[http://msdn.microsoft.com/vbasic/ Visual Basic at MSDN] (primarily supports the VB.Net version)
*[http://visualbasic.about.com/ Visual Basic Section on About.com]
*[http://www.developerfusion.co.uk/vb/ Visual Basic Section on Developer Fusion]
*[http://www.vbtutor.net/ Visual Basic Tutorial for Beginners]
*[http://www.fileinfo.net/extension/vb .VB File Extension Information] FileInfo.net
*[http://blogs.sun.com/tor Project Semplice]: VB on the [[Java Virtual Machine]]
*[http://www.planetsourcecode.com Planet Source Code] - A very large collection of free source code
*[http://www.freevbcode.com FreeVBCode.com] - Free source code collection devoted to Visual Basic
*[http://msdn.microsoft.com/vstudio/express/vb/download/ Visual Basic 2005 Express (free edition) net installer]
*[http://msdn.microsoft.com/vstudio/express/support/install/ Visual Basic 2005 Express (free edition) cd-image]
*[http://download.microsoft.com/msdownload/sbn/vbcce/vb5ccein.exe VB 5 Control Creation Edition, Download free here.]
*[http://www.bbs.motion-bg.com/index.php?file=489 Visual Basic for DOS (Free Edition) Download]
*[http://www.bytemycode.com/snippets/snippet/251 HashTable Implementation for Visual Basic 6 or VBA]
 
 
[[Category:Programming languages]]
[[Category:Imperative programming languages]]
[[Category:Procedural programming languages]]
[[Category:BASIC programming language family]]
[[Category:Microsoft BASIC]]
[[Category:Microsoft Visual Studio|Basic]]
[[Category:Microsoft development tools]]
 
[[Category:Star Trek: Voyager episodes]]
[[ar:فيجوال بيسيك]]
[[bg:Visual Basic]]
[[ca:Visual Basic]]
[[cs:Visual Basic]]
[[da:Visual Basic]]
[[de:Microsoft Visual Basic]]
[[et:Visual Basic]]
[[es:Visual Basic]]
[[eu:Visual Basic]]
[[fr:Visual Basic]]
[[ko:비주얼 베이직]]
[[hr:Microsoft Visual Basic]]
[[id:Visual Basic]]
[[it:Visual Basic]]
[[he:Visual Basic]]
[[hu:Visual Basic]]
[[ms:Visual Basic]]
[[nl:Visual Basic]]
[[ja:Microsoft Visual Basic]]
[[no:Visual Basic]]
[[pl:Visual Basic]]
[[pt:Visual Basic]]
[[ro:Visual Basic]]
[[ru:Visual Basic]]
[[simple:Visual Basic]]
[[sk:Visual Basic]]
[[sl:Visual Basic]]
[[fi:Visual Basic]]
[[sv:Visual Basic]]
[[th:วิชวลเบสิก]]
[[vi:Visual Basic]]
[[tr:Visual Basic]]
[[zh:Visual Basic]]