No offence

  • Unicorn 🌳@mander.xyz
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    C is old, ubiquitous and still does not have a good replacement for its low-level cross-platform usecases, so I’ll believe it when I see it 😄

      • Unicorn 🌳@mander.xyz
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Its cross-platform support (not just for using but also for building it) is not there yet, and it is quite huge and unstandardized with only one full implementation. I’d agree the last part will change with age, but given the frequent large changes and feature additions I am afraid it will be harder and harder and it is simply too complex and fast-moving for many low-level applications. It is closer to C++ than C in my eyes. I’d be happy seeing it replace C++ though for its memory safety benefits!

      • Ret2libsanity@infosec.pub
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        Rust won’t replace c.

        The programs are too bloated for many embedded systems where every byte counts because it’s in ROM or loaded jnto IRAM

        All that memory safety and garbage collection, for example, comes at a big cost

      • abessman@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        I mean yeah, if you restrict yourself to the C part of C++ it can do everything C can. But then you’re not getting any of the advantages of C++.

        Once you start using things like classes and templates heavily, your program will quickly outgrow low-end hardware.

        • pedro@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          “Outgrow low-end hardware”?

          What does a programming language have to do with this?

          • abessman@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Everything.

            Every programming language is an abstraction layer between the programmer and the machine that will run the code. But abstraction isn’t free. Generally speaking, the higher the abstraction, the less efficient the program.

            C++ optionally provides a much higher level of abstraction than pure C, which makes C++ much nicer to work with. But the trade off is that the program will struggle to run in resource constrained environments, where a program written in C would run just fine.

            And to be clear, when I say “low-end hardware”, I’m not talking about the atom-based netbook from 2008 you picked up for $15 at a yard sale. It will run C++ based programs just fine. I’m talking about 8- or 16-bit microcontrollers running at <100 MHz with a couple of hundred kB of RAM. Such machines are still common in many embedded applications, and they do not handle C++ applications gracefully.