• 3h5Hne7t1K@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    3 days ago

    Its about the type of operations the compiler allow you to do, more or less. Like sharing mutable references, that can be independently changed in a ‘hard to keep track of’- manner. Other factors the compiler tries eliminate include buffer overruns and int overflows e.t.c.

    Rust for example sometimes makes trivial things a royal pain, see linked lists for example. It also has a gaping microdependency/supply chain attack prone ecosystem, and the compiler interface is also not stable (afaik, caused some issues in linux). There is also no spec.

    I have experience of both, and i love both, but C is my fav. Its often trivial to imagine the codegen with C, and there are no shortage of quality compilers. The language is also small enough that implementing a compiler is actually feasible.