Ada, its design, and the language that built the languages

Ada’s Design & Capabilities

  • Many commenters praise Ada as ahead of its time: strong typing, rich concurrency model, tasking, generics, contracts, and clear separation of specification (.ads) vs implementation (.adb).
  • Ada’s ability to encode parameter modes (in, out, in out) is highlighted as a major advantage over C/C++‑style calling conventions.
  • SPARK (a verifiable subset) is noted for move‑like semantics for pointers and formal verification.
  • Private types and information hiding are seen as a core strength: clients see only the abstract type, not its representation.

Complexity, Verbosity, and Readability

  • Some argue Ada is extremely complex to compile and implement (arrays, generics, tasking, overload resolution, scoping), on par with C++/Rust.
  • Others say later mainstream languages have grown even more complex, making earlier “Ada is too complex” complaints look naive.
  • Verbosity splits the discussion: some see English‑like keywords and explicitness as a readability feature; others see unnecessary noise that limits adoption.
  • A recurring idea: an ideal system might support multiple concrete syntaxes (verbose vs terse) over one abstract syntax tree.

Adoption, Tooling, and Performance

  • High compiler/tool costs and late arrival of free compilers (e.g., GNAT in the mid‑90s) are repeatedly cited as key reasons Ada lost to C/C++.
  • Early compiler/runtime overhead and limited microcomputer performance also hurt Ada in the 1980s.
  • Some report good compilation performance in practice; others recall slow, cumbersome toolchains and difficulty integrating with OS features.

Comparisons with Other Languages & Systems

  • Frequent comparisons to Rust (ownership/affine types vs Ada’s controlled/limited types and SPARK), C/C++, Java, JavaScript/TypeScript, ML family, Pascal/Modula, Mesa, PL/SQL, VHDL, Verilog, and HDLs more broadly.
  • Debate over whether JavaScript modules or modern JS private fields achieve the same level of opaque types as Ada; many argue they do not.
  • Historical influences like ALGOL 68, CLU, Hope, Mesa, and JOVIAL are discussed.

AI-Generated Article Debate

  • Significant subthread debates whether the linked Ada essay is AI‑written.
  • Supporters point to repetitive rhetorical patterns, rapid publication cadence, and some technical inaccuracies.
  • Others push back, noting humans can also write in that style and that quality, not authorship method, should matter.

Use Cases, Culture, and Ethics

  • Ada is strongly associated with safety‑critical systems: defense, aerospace, rail, and avionics.
  • Some admire this domain; others explicitly avoid working on weapons or high‑stakes systems due to ethical or stress concerns.
  • Several lament that Ada’s successes are largely invisible (systems that quietly work), while a notable failure (early Ariane 5 incident) is widely remembered.