Re:How I Came to Write D (2014)
by dbaupp on Monday June 04, 2018 @02:29AM
(#17225134)
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.
[ Parent
| on HN ]
Ada 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/
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-...