Ubuntu for developers¶
Ubuntu is a Linux-based operating system and development platform. Python, Go, Rust, GCC, Clang, .NET, Java, and Zig toolchains are available through Ubuntu repositories and snaps, with build tools, debuggers, linters, formatters, and IDEs.
This documentation guides developers from a fresh Ubuntu Desktop install to a productive development setup. It covers toolchain installation, first-program tutorials, version-reference data, and background context. It does not teach programming; no prior Ubuntu experience is required.
In this documentation¶
The following sections map the documentation by lifecycle stage — from platform basics and setup through toolchain installation and active development — so you can find content by where it falls in your workflow.
Introduction¶
Pages covering platform-level setup and Ubuntu-specific concepts that apply across all toolchains.
Language toolchains and support¶
Each supported language has its own installation guide, first-program tutorial, and version availability reference.
Python: Installation and set-up | Tutorial | Available versions
Rust: Installation and set-up | Tutorial | Available versions
GCC: Installation and set-up | Tutorial | Available versions
Clang: Installation and set-up | Tutorial | Available versions
.NET: Introduction to the .NET toolchain | Installation and set-up | Tutorial | Debugging | Available versions
Java: Installation and set-up | Tutorial | GraalVM native compilation | Compile Spring Boot apps to native executables | Fast start for Spring Boot apps with CRaC | Available versions
Zig: Installation and set-up | Tutorial | Available versions
Packaging and distribution¶
Distribute software built on Ubuntu as packages, snaps, or container images.
Packaging: Packaging software
How this documentation is organized¶
This documentation uses the Diátaxis documentation structure.
Tutorials guide you through developing a ‘Hello, world!’ application with each toolchain on Ubuntu Desktop, and demonstrate the use of debuggers, linters, and other supporting tools.
How-to guides cover the installation and configuration of each toolchain and its supporting tooling on Ubuntu Desktop.
Reference covers toolchain version availability across Ubuntu releases and lists supported integrated development environments.
Explanation discusses Ubuntu installation considerations, version-control setup, packaging, and toolchain-specific background.
Project and community¶
Ubuntu Desktop is part of the Ubuntu family of open-source projects, developed and maintained by Canonical and a worldwide community of contributors.
Get involved¶
Governance and policies¶
Commercial support¶
Thinking about using Ubuntu Desktop as your development platform? See Ubuntu Desktop for developers.