.NET
By Microsoft
NET is Microsoft's free, open-source, cross-platform managed application development platform. It provides a common runtime, base class libraries, and a set of languages (C#, F#, and Visual Basic) that compile to an intermediate language…
Definition
.NET is Microsoft's free, open-source, cross-platform managed application development platform. It provides a common runtime, base class libraries, and a set of languages (C#, F#, and Visual Basic) that compile to an intermediate language and execute under managed memory management. Developers use it to build web APIs, desktop applications, mobile back ends, cloud services, and command-line tools that run on Windows, Linux, and macOS from a single codebase and toolchain.
Overview
Before the modern .NET era, Microsoft maintained the Windows-only .NET Framework alongside a separate Mono-derived cross-platform effort, which split the ecosystem and forced teams to choose between reach and feature parity. .NET unifies those lineages into one open-source platform maintained on GitHub, with a single SDK, a single set of base libraries, and a shared set of language compilers that all target the same runtime surface. The result is a platform a team can adopt once and deploy anywhere a supported runtime exists, rather than maintaining parallel builds for different operating systems. Mechanically, source code in C#, F#, or VB is compiled to Common Intermediate Language and metadata, packaged into assemblies, and executed by the Common Language Runtime, which just-in-time compiles IL to native instructions at run time and manages a generational garbage collector, type safety, and exception handling. The SDK exposes this through the `dotnet` command-line interface, which restores NuGet packages, builds, tests, and either produces a framework-dependent binary that needs an installed runtime or a self-contained, optionally trimmed and native ahead-of-time compiled executable. ASP.NET Core, Entity Framework Core, and other first-party libraries sit on top of this same runtime rather than being separate products. Among its neighbors, .NET occupies a similar niche to the JVM ecosystem and to Node.js: a managed runtime with a large standard library, but one that natively favors statically typed, compiled languages over dynamically typed scripting. Unlike the older .NET Framework it replaced, it drops COM interop and full Windows Forms parity concerns as first priorities in favor of portability, though Windows-specific workloads are still supported through separate packages. Compared to Java, .NET's tooling and package ecosystem (NuGet, MSBuild) are more tightly integrated into a single vendor-maintained toolchain rather than a federation of competing build systems. In practice, teams use .NET to build REST and gRPC services with ASP.NET Core, background workers and microservices deployed in Docker containers on Kubernetes, desktop applications with WPF or MAUI, and Azure Functions for serverless workloads. Visual Studio, Visual Studio Code with the C# extension, and JetBrains Rider are the common editors, and the platform integrates directly with Azure DevOps and GitHub Actions for CI/CD pipelines that build and publish NuGet packages or container images. Limitations show up mainly at the edges: startup time and memory footprint, while much improved with ahead-of-time compilation, still lag behind lean native binaries for extremely resource-constrained environments, and some legacy Windows-only APIs from .NET Framework never made the jump, requiring a compatibility shim or a rewrite. Teams with an existing large Java or Node.js investment may find switching costly even where .NET's tooling is comparable, and organizations wary of Microsoft's release cadence sometimes prefer the longer-lived LTS releases only, skipping the annual non-LTS versions to reduce upgrade churn.
Key Features
- Single SDK and runtime shared across Windows, Linux, and macOS
- C#, F#, and Visual Basic compile to a common intermediate language
- Just-in-time and ahead-of-time compilation options for deployment
- Generational garbage collector with configurable memory management
- NuGet package manager integrated into the build and restore pipeline
- ASP.NET Core for building web APIs and server-rendered applications
- Self-contained and trimmed publishing for smaller deployment artifacts
- Open-source development on GitHub with community-accepted contributions