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.