Content deleted Content added
m rv sock |
|||
(18 intermediate revisions by 11 users not shown) | |||
Line 21:
| platform = [[.NET Framework]], [[Mono (software)|Mono]], [[.NET]]<ref>{{cite web|url=https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/|title=Visual Basic in .NET Core 3.0|first=Kathleen|last=Dollard|website=blogs.msdn.microsoft.com|date=November 13, 2018|access-date=November 21, 2018|archive-date=November 19, 2018|archive-url=https://web.archive.org/web/20181119070011/https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/|url-status=live}}</ref><ref name="devblogs-2020-03-11">{{cite web |url=https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/ |title=Visual Basic support planned for .NET 5.0 | Visual Basic Blog |publisher=Blogs.msdn.microsoft.com |date=2020-03-11 |access-date=2020-08-26 |archive-date=January 5, 2022 |archive-url=https://web.archive.org/web/20220105022953/https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/ |url-status=live }}</ref>
| operating_system = Chiefly [[Windows]]<br/>Also on [[Android (operating system)|Android]], [[BSD]], [[iOS (Apple)|iOS]], [[Linux]], [[macOS]], [[Solaris (operating system)|Solaris]], and [[Unix]] <!-- Mono implementations, remember? -->
| license = [[Roslyn (compiler)|Roslyn]] compiler: [[MIT License]]<ref>{{Cite web|url=https://github.com/dotnet/roslyn/blob/0d04884c243978cdd609e219fdb63cb58ebec69d/License.txt|title=Dotnet/Roslyn|website=[[GitHub]]|date=November 26, 2024}}</ref
| website = {{URL|https://docs.microsoft.com/dotnet/visual-basic/}}
| file_ext = <code>.vb</code>
}}
'''Visual Basic''' ('''VB'''), originally called '''Visual Basic .NET''' ('''VB.NET'''), is a [[Multi-paradigm programming language|multi-paradigm]], [[Object-oriented programming|object-oriented]] [[programming language]]
Microsoft's [[integrated development environment]] (IDE) for developing in Visual Basic is [[Visual Studio]]. Most Visual Studio editions are [[commercial software|commercial]]; the only exceptions are [[Visual Studio Express]] and [[Microsoft Visual Studio#Community|Visual Studio Community]], which are [[freeware]]. In addition, the [[.NET Framework SDK]] includes a freeware [[command-line]] [[compiler]] called vbc.exe. [[Mono (software)|Mono]] also includes a command-line VB.NET compiler.
Line 43:
In addition, in Visual Basic:
* There is no unified way of defining blocks of statements. Instead, certain keywords, such as "If
* Statements are terminated either with a [[Colon (punctuation)|colon]] (":") or with the [[end of line]]. Multiple-line statements in Visual Basic are enabled with " _" at the end of each such line. The need for the underscore continuation character was largely removed in version 10 and later versions.<ref>{{cite web |url=https://msdn.microsoft.com/en-us/library/ff637436.aspx |title=New Features in Visual Basic 10 |date=June 3, 2010 |access-date=September 5, 2015 |archive-date=March 4, 2016 |archive-url=https://web.archive.org/web/20160304231731/https://msdn.microsoft.com/en-us/library/ff637436.aspx |url-status=live }}</ref>
* The [[equals sign]] ("=") is used in both assigning values to variables and in comparison.
Line 131:
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 [[exception handling|structured exception handling]] and short-circuited expressions. Also, two important data-type changes occurred with the move to VB.NET: compared to Visual Basic 6, the <code>Integer</code> [[data type]] has been doubled in length from 16 bits to 32 bits, and the <code>Long</code> [[data type]] has been doubled in length from 32 bits to 64 bits. This is true for all versions of VB.NET. A 16-bit integer in all versions of VB.NET is now known as a <code>Short</code>. Similarly, the [[Windows Forms]] 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 counting|reference-counted]] engine based on [[Component Object Model|COM]] to a fully [[Object-oriented programming|object-oriented]] language backed by the [[.NET Framework]], which consists of a combination of the [[Common Language Runtime]] (a [[virtual machine]] using [[Garbage collection (computer science)#Generational GC (aka Ephemeral GC)|generational garbage collection]] and a [[just-in-time compilation]] engine) and a far larger [[class library]]. The increased breadth of the latter
The changes
==== Comparative examples ====
Line 241:
CreateObject("Sapi.Spvoice").Speak(TextBox1.Text)
End Sub
End Class
</syntaxhighlight>
Line 266:
=== 2003 (VB 7.1) ===
Visual Basic .NET 2003 was released with [[.NET Framework 1.1]]. New features included support for the [[.NET Compact Framework]] and a better VB upgrade [[wizard (software)|wizard]]. Improvements were also made to the performance and reliability of .NET IDE (particularly the [http://msdn.microsoft.com/msdnmag/issues/05/06/AdvancedBasics/default.aspx background compiler]) and runtime. In addition, Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition, distributed to a certain number of scholars
=== 2005 (VB 8.0) ===
Line 345:
Visual Basic 2019 (code named VB "16.0") was released with Visual Studio 2019.<ref>{{cite web|url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes|title=Visual Studio 2019 Release Notes|last=Reshmim|website=www.visualstudio.com|access-date=August 2, 2019|archive-date=November 29, 2021|archive-url=https://web.archive.org/web/20211129155944/https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes|url-status=live}}</ref> It is the first version of Visual Basic focused on .NET Core.<ref>{{cite web|url=https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-160|title=What's new for Visual Basic 16.0|last=Reshmim|website=www.visualstudio.com|access-date=January 11, 2020|archive-date=September 1, 2019|archive-url=https://web.archive.org/web/20190901152416/https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-160|url-status=live}}</ref>
A minor update was later released as Visual Basic 16.9 which only added the ability to consume init-only properties.<ref>{{cite web|url=https://learn.microsoft.com/en-us/dotnet/visual-basic/whats-new/#visual-basic-169|title=What's new for Visual Basic|website=learn.microsoft.com|date=February 21, 2023 |access-date=February 18, 2025}}</ref> This was done to maintain compatibility with C# 9.0<ref>{{cite web|url=https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/?source=post_page-----1a66d7f94a54---------------------------------------&hide_banner=true#init-accessors-and-readonly-fields|title=C# 9.0 on the record|first=Mads|last=Torgersen|website=devblogs.microsoft.com|date=November 10, 2020 |access-date=February 18, 2025}}</ref> per the current development strategy of the language.<ref name="vbstrategy">{{cite web|url=https://learn.microsoft.com/en-us/dotnet/visual-basic/getting-started/strategy|title=Annotated Visual Basic Language Strategy|website=learn.microsoft.com|date=May 29, 2024 |access-date=February 18, 2025}}</ref>
=== 2022 ===
Line 368:
<ref name="option strict explicit">{{cite web|title=Option Explicit and Option Strict in Visual Basic .NET and in Visual Basic|url=https://support.microsoft.com/en-us/kb/311329|work=Support|publisher=[[Microsoft]]|access-date=August 22, 2013|date=March 19, 2008|archive-date=April 4, 2015|archive-url=https://web.archive.org/web/20150404001840/http://support.microsoft.com/en-us/kb/311329|url-status=live}}</ref>
}}
* {{Cite web |title=License.txt in the Roslyn repo at 0d04884 |url=https://github.com/dotnet/roslyn/blob/0d04884c243978cdd609e219fdb63cb58ebec69d/License.txt
== Further reading ==
|