Hacker News new | past | comments | ask | show | jobs | submit login

I’m glad to hear that. We’re moving stuff to Rust at work and it’s great at memory safety. Much better than relying on Unchecked_Deallocation. But that said, there are a lot of times when something can’t be out of a range, like voltage is from 0.00 to 1.85 in steps of 0.01. Ada is much better at safely specifying that range, while Rust will happily take values that are outside the acceptable range.



That's unfortunate. Ada is so much nicer to work with and Spark now has deallocation safety and memory leak prevention.

https://youtu.be/97G1V2U8Drk?si=wNqNs1GiuO9ZdGwP


I chose Ada over Rust for my company a few years ago and couldn't be happier. My entire embedded and tooling code bases are now Spark compatible. I don't believe any language can match Ada for drivers, memory register and network protocol handling.


NVidia did as well for their car automation firmware.


Almost as though in order to maintain runtime type invariants on values you must use some kind of function to “construct” them...


Ada checks the ranges on types assigned to each other at compile time and then invariants on assignment and when passed as parameters. You can turn the runtime side of these checks on or off individually at the module level.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: