Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

'Higher level' doesn't necessarily say anything. Rust and ATS are both higher level than C, but they can both do everything that C does.

Is Ada less performant than C? I know it has bounds checking, but that can be turned off for "shipped" software. Does it have some features that incur a runtime cost and that can't be disabled?



Ada with all the runtime features left on is slower than comparable quality C. It's faster than most languages though.

With all the runtime turned GNAT can/should produce code with in a percent or two as fast as GCC (they share the same backend).

And Ada has a thing called SPARK which is a set of compiler checks to formally verify your code so you can provably turn off those runtime features safely. https://en.wikipedia.org/wiki/RavenSPARK


So rust & ATS & ADA & higher level languages can modify memory space? That I am aware of most higher level languages stray from being able to modify memory space on purpose as it's dangerous but, someone has to do it for the operating system is all I am saying about low level now that we are completely off topic here.


Don't know about Ada, but Rust and ATS can. The Rust code would need to be written in an unsafe block in order to as freely modify memory as C, but regular Rust can still do a lot without requiring automatic memory management, safely.

As you can see from the article (not that you seem to have read any of it), ATS can express C, and optionally prove low-level stuff about it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: