Visual Basic is an object-oriented programming language implemented on the .NET Framework.
Elevate your Visual Basic skills through 109 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Visual Basic is a multi-paradigm, statically-typed programming language with object-oriented, declarative, functional, generic, lazy, integrated querying features and type inference.
Statically-typed means that identifiers have a type set at compile time--like those in Java, C++ or Haskell--instead of holding data of any type like those in Python, Ruby or JavaScript.
Object-oriented means that Visual Basic provides imperative class-based objects with features such as single inheritance, interfaces and encapsulation.
Declarative means programming what is to be done, as opposed to how it is done (a.k.a imperative programming) (which is an implementation detail which can distract from the domain or business logic).
Functional means that functions are first-class data types that can be passed as arguments to and returned from other functions.
Generic means that algorithms are written in terms of types to-be-specified-later that are then instantiated, when needed, for the specific types provided as parameters.
Lazy (a.k.a "deferred execution") means that the compiler will put off evaluating an item until required. This lets one safely do weird stuff like operating on an infinite list--the language will only create the list up to the last value needed.
Integrated Querying means the language feature called LINQ "Language-Integrated Query", which enables lazy querying directly within the language, not only its own objects but, also, external data sources through formats such as XML, JSON, SQL, NoSQL DBs and event streams.
Type inference means that the compiler will often figure out the type of an identifier by itself so you don't have to specify it. Scala and F# both do this.
Syntax is similar to that of other structured BASIC languages such as Xojo, PureBASIC and the B4X family.
.NET is the managed environment within which Visual Basic runs, so you get access to the entire .NET ecosystem, including all packages on nuget.org. .NET used to be Windows-only but, with the release of .NET Core -- as well as Mono -- you can also use Visual Basic on Mac, Linux or Unix-based systems and on mobile platforms too.
Visual Basic also has features, amongst others, to make programming with multiple threads/processors, parallelisation, asynchrony, unmanaged code in a managed environment and language interoperability easier. It is developed and maintained by Microsoft, who provides the official documentation.
Modern
Visual Basic is a modern, powerful language.
Cross-platform
Visual Basic runs on almost any platform and chipset.
Multi-paradigm
Visual Basic is primarily an object-oriented language, but also has lots of functional features.
General purpose
Visual Basic is used for a wide variety of workloads, like websites, gui and console applications.
Tooling
Visual Basic has excellent tooling, with linting and advanced refactoring options built-in.
Documentation
Documentation is excellent and exhaustive, making it easy to get started with Visual Basic.
Modern
Visual Basic is a modern, powerful language.
Cross-platform
Visual Basic runs on almost any platform and chipset.
Multi-paradigm
Visual Basic is primarily an object-oriented language, but also has lots of functional features.
General purpose
Visual Basic is used for a wide variety of workloads, like websites, gui and console applications.
Tooling
Visual Basic has excellent tooling, with linting and advanced refactoring options built-in.
Documentation
Documentation is excellent and exhaustive, making it easy to get started with Visual Basic.