Remix.run Logo
eggy 7 months ago

They've been using safe languages like Ada and SPARK2014 for decades, and those are hardly unsafe. In fact they are safer and more mature than Rust and easier to learn IMHO.

AlotOfReading 7 months ago | parent | next [-]

Tried hiring people for Ada jobs, or finding open source stuff to use in it? Ada has failed to find a market even in the safety-critical niches it should be dominating. Heck, AdaCore is putting out more Rust stuff these days than Ada.

pjmlp 7 months ago | parent [-]

Yet, 7 companies are still in business selling Ada compilers, in a world where most devs refuse to pay for tools while expecting to be paid themselves.

AlotOfReading 7 months ago | parent | next [-]

And presumably they're all selling almost exclusively to the aerospace industry. There's like a dozen COBOL compiler vendors too. It's not indicative of the health of the language ecosystem.

pjmlp 7 months ago | parent | next [-]

Ada is used all over the place in high integrity computing, that is much more than aerospace.

Well, COBOL just got ISO COBOL 2023 out of the door, and both Visual COBOL and NetCOBOL, still offer a much better development experience than many FOSS toolchains.

eggy 7 months ago | parent | prev [-]

Tell that to the largest company in the world, Nvidia that adopted SPARK for their high-integrity, high-security firmware.

eggy 7 months ago | parent | prev [-]

I find Ada/SPARK2014 much easier to learn than Rust, and given its legacy, Ada programmers are of a higher quality for the high-integrity market than Rust at the moment. The fandom of Rust is a positive and attracts a lot of early adopters, but it still does not approach the portfolio of high-integrity software out there in Ada/SPARK2014.

galangalalgol 7 months ago | parent | prev [-]

I don't think spark is easier to learn. Ada probably is. Ada sacrifices some performance for some of the benefits rust gets for free though, and deallocating memory is unsafe in the versions I've played with. If forbidding free is the way we choose to eliminate use after free, then there are a lot more memory safe languages.

pjmlp 7 months ago | parent [-]

Only if you never moved beyond Ada83.

Controlled Types and SPARK provide the mechanisms to deallocate only when it is actually safe to do so.

Additionally unbounded collections, are just like graphs in Rust, they provide safe ways to managed dynamically sized collections, while hiding the unsafe code in implementation.