Show HN: Getada: rustup-like installer for Ada's toolchain/package manager

Ada, a long‑standing systems programming language, is seeing renewed interest as developers look for safer alternatives to C and explore options beyond Rust, helped by modern features like strong type constraints and the SPARK verification subset. A key pain point has been clunky toolchain setup, and the new Getada installer aims to streamline Ada’s onboarding by providing a rustup‑style one‑liner to install the Alire package manager and toolchains. Commenters highlight how better tooling and package management can be decisive for language adoption, comparing Ada’s evolving ecosystem to the polished experiences in Rust and Go.

Ada’s Recent Momentum

  • Multiple comments report seeing more Ada content recently.
  • Suggested drivers: push for safer languages after security incidents, White House guidance, and general “why are we still using C?” discourse.
  • Ecosystem changes: license simplification around 2021, rise of Alire (toolchain + package manager), new Ada standard in 2022, and community consolidation on ada-lang.io.
  • Content creators (Twitch/YouTube) are seen as amplifying interest.

Ada vs Other Languages (Rust, C#, Java, Go)

  • Some question why Ada today vs Rust or mainstream managed languages.
  • Pro‑Ada points: restricted/checked numeric ranges, pre/postconditions, rich type system, representation clauses for low-level memory-mapped work, automatic array sizing/iteration based on index ranges.
  • Counterpoints: many of these can be emulated via libraries in other languages, though Ada’s version is more integrated.
  • One view claims Ada is safer, easier, and more cost‑effective than C/C++/Java and even Rust; others demand citations and are skeptical.

Memory Safety and SPARK

  • Debate on whether Ada is “memory safe.”
  • View 1: largely safe if sticking to stack allocation and avoiding unchecked deallocation; standard containers and controlled types add safety.
  • View 2: Ada is not inherently memory-safe like Rust.
  • SPARK (a provable subset of Ada) is highlighted as free, easy to enable with a pragma, and available via gnatprove; some praise its integration with GNAT Studio.

Getada and Alire Tooling

  • Getada is described as a rustup-like installer layering over Alire: fetches latest release, installs under $HOME, wires PATH via shell env files, and can uninstall cleanly.
  • Goal: “one-liner” install to lower onboarding friction, especially for newcomers confused by manual zip extraction, PATH edits, or macOS xattr requirements.
  • Some argue these manual steps are trivial; others respond that in practice they do trip people up and automation is valuable.
  • musl/Alpine support is still problematic: Alire can be built, but bundled toolchains aren’t musl-linked; flagged as a future “phase 2” concern.

Alire Usage Debates

  • Fans: Alire simplifies toolchain selection, dependency management, and project scaffolding; uses gprbuild under the hood and caches toolchains (similar to virtualenv).
  • Critics: it imposes alr build, extra directories (obj, bin, alire, config), and can interact poorly with non‑git workflows or when config needs to be shared; some prefer calling gprbuild directly.

Tooling Culture and Comparisons

  • Several comments frame strong tooling as key to language adoption.
  • Rust’s rustup + Cargo and Go’s go tool are cited as examples where tooling quality drives enthusiasm.
  • Others note opinionated tools like Cargo can clash with existing large codebases, making incremental adoption harder.

Libraries and Use Cases

  • SDL2 with Ada: SDLada is available and works with Alire (alr with sdlada), though some report Linux linking difficulties; efforts are underway to simplify linking via pragmas and project files.
  • Raylib bindings for Ada are mentioned as working well.

Naming and Miscellaneous

  • Light bike‑shedding over the name “Getada” vs more “clever” names (e.g., Byron); some prefer descriptive names for memorability, others argue they age poorly when tools are replaced.
  • A brief anecdote laments porting Ada avionics code to C as a regression in safety/maintainability.