http://tech.adroll.com/blog/data/2014/11/17/d-is-for-data-sc...
It should be noted that D has a number of different compilers, offering the user the choice between compilation speed and optimisation.
http://tech.adroll.com/blog/data/2014/11/17/d-is-for-data-sc...
It should be noted that D has a number of different compilers, offering the user the choice between compilation speed and optimisation.
Could you not also say there are effectively two Rusts?
https://doc.rust-lang.org/book/second-edition/ch19-01-unsafe...
"Rust has a second language hiding out inside of it, unsafe Rust, which does not enforce these memory safety guarantees. Unsafe Rust works just like regular Rust does, but it gives you extra superpowers not available in safe Rust code."
By the way, I don't say this as a criticism, I admire what the Rust team are doing, and will be glad to check out the language again in the future.
Those choices for builtin language features date back to the early inspiration from Java, but are increasingly being replaced with library implementations. We've added escape checking to the type system last year, and are currently working on safe aliasing (preventing use-after-free).
So yes, atm. when opting for @nogc you're somewhat at the frontier, and it's mostly a choice if you have time, hard requirements, or am very practised.
Avoiding most (but not all) GC allocations is already widely adopted in D's community though.