3 ms·
One technical reason is Rust has safe dynamic (de)allocation (and without a GC), whereas I believe Ada misses that large segment of the "market" (it theoretical
by dbaupp 8y ago
One technical reason is Rust has safe dynamic (de)allocation (and without a GC), whereas I believe Ada misses that large segment of the "market" (it theoretically allows a GC, but IIRC the implementations do not support that meaningfully). I could be wrong, but I don't think there's anything quite to the same degree in Ada but missing from Rust.
- pjmlp 8y agoAda has RAII via controlled types and allows for memory pools. Also Ada allows for compiler assisted runtime allocation. For example, you can declare a datastructure with the size you want, and if it fits the stack it will be allocated, otherwise you get an exception. Deallocation C style requires the Uncheked_Deallocation package. Ada 95 removed GC from the standard, as no compiler ever bothered to implement it. Here is an overview presented at FOSDEM 2016. https://archive.fosdem.org/2016/schedule/event/ada_memory/ https://archive.fosdem.org/2016/schedule/event/ada_memory/ With SPARK and Ada 2012, Ada allows for better security constraints than Rust. "Real-Time Critical Systems: HRM Prototype & Ada Integration" https://www.amazon.com/Real-Time-Critical-Systems-Prototype-Integration-ebook/dp/B07986YGNM https://www.amazon.com/Real-Time-Critical-Systems-Prototype-...