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

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.