All the pieces...
There are a lot of individual pieces in the .NET ecosystem. Lets get a brief overview of them now.
.NET Framework
This is the original implementation of the .NET platform, primarily for Windows. It includes a
large class library known as the Framework Class Library (FCL) and provides language
interoperability across several programming languages. It has its version numbering scheme, such
as 2.0, 3.5, 4.0, etc.
.NET Core
This is a cross-platform, open-source, and modular implementation of the .NET framework. It was
designed to run on Windows, macOS, and Linux. .NET Core has its version numbering scheme, such
as 1.0, 2.0, 3.0, etc.
.NET Standard
.NET Standard is a specification that defines a set of APIs that all .NET implementations must
provide to ensure consistency across different .NET platforms. It's essentially a set of APIs
that developers can rely on being available on any .NET implementation that claims to support a
particular version of .NET Standard.
.NET Runtime
This is the environment that executes .NET applications. It includes the Common Language Runtime
(CLR), which provides various services like garbage collection, exception handling, and
security, among others.
.NET 8
This refers to a specific version of a particular flavor of the .NET platform, such as .NET Core
or .NET Framework.
C#
C# is a programming language developed by Microsoft as part of the .NET initiative. It is a
simple, modern, object-oriented language designed for building a variety of applications that
run on the .NET Framework, .NET Core, and other compatible platforms. C# is widely used for
developing desktop, web, and mobile applications within the .NET ecosystem.
F#
F# is a functional-first programming language developed by Microsoft Research. It is a
strongly-typed, multi-paradigm language that is part of the .NET ecosystem. F# emphasizes
functional programming concepts such as immutability, higher-order functions, and pattern
matching. It is particularly well-suited for tasks involving parallelism, asynchronous
programming, and data-oriented programming. F# can be used to build a wide range of
applications, including web applications, data processing pipelines, and scientific
computing projects.
VB (Visual Basic)
Visual Basic is a full-fledged programming language developed by Microsoft. It was widely used
for building desktop applications, especially during the 1990s and early 2000s. Visual Basic
provides a simple and intuitive syntax that allows developers to quickly build Windows-based
applications with graphical user interfaces (GUIs). VB can be compiled into executable files
or run using an interpreter.
VBScript (Visual Basic Scripting Edition)
VBScript, on the other hand, is a scripting language developed by Microsoft and based on
Visual Basic. It is primarily used for client-side and server-side scripting within web
pages and web applications. VBScript is interpreted by web browsers or server-side scripting
engines (like Internet Information Services, or IIS, for ASP applications). VBScript is
typically embedded within HTML documents to add interactivity or perform server-side
processing.
VB.NET
VB.NET is the modern version of Visual Basic that is fully integrated into the .NET framework.
It retains the ease of use and familiarity of Visual Basic syntax while incorporating the
features and capabilities of the .NET framework. VB.NET is used primarily for building desktop,
web, and mobile applications within the .NET ecosystem.
ASP Classic
ASP (Active Server Pages) Classic is a server-side scripting environment developed by Microsoft
for building dynamic web pages and web applications. It uses VBScript or JScript as its
scripting language and is based on COM (Component Object Model). ASP Classic was the predecessor
to ASP.NET and is now considered a legacy technology.
ASP.NET
ASP.NET is a web development framework developed by Microsoft for building modern web
applications and services. It provides a robust and scalable environment for developing web
applications using various programming languages, including C#, F# and VB.NET. ASP.NET offers features like
state management, authentication, and data access. It includes several sub-frameworks, such as
Web Forms, MVC (Model-View-Controller), Web API, and Razor Pages, which cater to different
application architectures and development styles.