Ubuntu for developers

Ubuntu is a Linux-based operating system that provides a complete development platform supporting multiple programming languages and toolchains.

Each supported toolchain integrates with Ubuntu’s package management and tooling ecosystem. Python, Go, Rust, GCC, Clang, .NET, and Java are available through Ubuntu repositories and snaps, together with build tools, debuggers, linters, formatters, and IDEs (integrated development environments).

This documentation reduces the time needed to configure a working development environment on Ubuntu. It covers toolchain installation, first-program tutorials, version-reference data, and background context, providing a path from a fresh Ubuntu Desktop install to a productive development setup.

The documentation is for developers who use or plan to use Ubuntu Desktop as their workstation. It does not teach programming; it shows how to install toolchains, build first programs, and use supporting tools on Ubuntu Desktop. No prior Ubuntu experience is required.

In this documentation

The following sections map the documentation by development lifecycle stage — from environment setup and toolchain installation through active development to software distribution.

Tutorial: Develop with Python

Initialization and setup

Setting up development on Ubuntu Desktop involves platform-level choices and toolchain-specific configuration.

Active development

These pages cover the toolchain-specific workflows for building, running, and debugging code on Ubuntu Desktop.

Evolution and packaging

This section covers distributing software built on Ubuntu Desktop as a Debian package, snap, or container image.

Resources and references

Version matrices for each supported toolchain, showing what is available across Ubuntu releases.

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.