Which parts of GNAT aren’t in Ada?
Doesn’t GNAT use GCC code generation backend?
GNAT has multiple backends, GCC being the most used one, but it also has a couple that are written in Ada (e.g. JGNAT, which targets the JVM).
So, I skimmed this book on Ada and it’s not clear to me what makes Ada safer or better than current mainstream languages. Is this simply a thing that was “the best” when C++ ruled the earth?
Right, Ada came out at a time where most popular programming languages were very unsafe, Ada’s emphasis on stack allocation, avoiding pointers and custom types while retaining execution speed was a real improvement over what existed.
Nowadays multiple other programming languages are on par with Ada when it comes to getting both safety and performance but Ada has another advantage: it has a subset named Spark which allows formal verification of programs. There aren’t many programming languages that can claim to be performance/low-level oriented while allowing formal verification.