HACKER Q&A
📣 mayureshkathe

When Ada/SPARK, then why Rust?


When Ada/SPARK have been around since 1983, then what was the reason for inventing Rust?

Why does our industry get so enthused with shiny new things, repetitively?


  👤 belter Accepted Answer ✓
Given that the recent downtime of the U.K. air traffic control system, implemented in ADA Spark by the way ... was triggered by a straightforward flight plan with two duplicate exit points, this show that the competence of individuals, teams, and quality control measures has a more pronounced influence.

Also...GNAT Pro for Rust: https://www.adacore.com/press/adacore-announces-gnat-pro-for...?


👤 philprx
Because new?

Because short / terse / expressive

Because C like


👤 Rochus
> what was the reason for inventing Rust?

There will always be new programming languages. In case of Rust the innovation was compile-time dynamic memory management, which then was not available in Ada; but Ada is catching up, see e.g. https://blog.adacore.com/using-pointers-in-spark.

> Why does our industry get so enthused with shiny new things

Innovations can give better opportunities to those who use them smartly. Often, the hype around a technology is so great that the industry is forced to show at least a minimal commitment to appease staff and investors, and not appear old-fashioned.


👤 jjgreen
Ada job postings usually come with a "Security clearance required", less so with Rust.

👤 frou_dh
Doesn't seem like a good faith question because you've already made your conclusion with the second part.

👤 mindwok
Everything that ends up being useful was a shiny new thing once. Shiny new things get us excited about the future and motivated to build stuff because they give us hope of solving problems that aren't solved yet.

It's worth pointing out that Rust began as a passion project to try and improve the reliability of systems programming. Given that this is still a huge problem today, you can probably imagine it was an even bigger problem back then and Ada had been around for decades by that point, so clearly it had not solved the problem.


👤 SubjectToChange
When Ada/SPARK have been around since 1983, then what was the reason for inventing Rust?

Rust was more inspired to be a memory safe, C++ like language, with a better syntax and type system. It’s far more targeted towards application programming than anything else, although it’s looking better and better for embedded as well. Although it can probably be used for safety critical applications in the future, it’ll need better tooling before that can happen.

Anyway, the primary issue with Ada/SPARK in the (F)OSS ecosystem is primarily due to the lack of available compilers IMO. On top of that it has a reputation as a somewhat “dead” language and, as silly as it is, many people can’t bring themselves to look past the pascal style syntax. That said, Ada/SPARK is not the only game in town. JML exists for Java, Frama-C and Astrée can basically offer equivalent functionality, and I’m sure others exist (ployspace code prover?). So you might as well ask “why Ada/SPARK?”.

Why does our industry get so enthused with shiny new things, repetitively?

Personally I believe that Rust appeals to many who have historically avoided native development because C and C++ are just such a bother to deal with. It’s hard to imagine Rust being where it is today without cargo. Now, with security only becoming more of a serious problem, Rust is becoming more compelling for some users.


👤 Jtsummers
[delayed]