1. 4
  1.  

  2. 1

    I’m not a programming language expert, but I think the fact that Go and D have non-deterministic garbage collection means they can’t really fully “replace” C, C++, and Rust.

    I’m not a Rust expert either, but it seems to be following the same path of C++ into crippling complexity.

    These things suggest to me there’s still no real replacement for C, at least not one with any real “traction.”

    1. 2

      These things suggest to me there’s still no real replacement for C, at least not one with any real “traction.”

      Maybe zig?

      1. 1

        The problem is that–and somebody who has more up-to-date information, by all means correct me!–even in unmanaged langauges without GC, you can still totally have lag in freeing memory.

        Depending on the standard library and malloc implementation, you can’t even be guaranteed uniform behavior. Consider the case where you trigger a scan and coalesce of the underlying free block list for malloc or similar–I don’t think there are any APIs that conveniently say “okay, please fill this and do a bit of work coalescing blocks because I know I have more allocations of some size coming up.” or “okay, please immediately coalesce everything” or even “okay, fuck, just turn coalescing off because I Know What I’m Doing”.

        If people really need deterministic memory behavior, they need to put in extra work in every language.