• Rednax@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    12 hours ago

    I mean, at the end of the day, if you really understand your language of choice, you know that it is jusf a bunch of fancy libraries and compiler tricks of top of C. So in my mind, I’m a fully evolved programmer in a language, when I could write anything I can write in that language in C instead.

    • Rose@piefed.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 hour ago

      Or, rather, most compiled languages are just syntactic sugar on top of assembly, and that’s especially true with C. (Oh, you can use curly brances and stuff for blocks? That’s sure easier to read than the label mess you get with assembly.)

    • lime!@feddit.nu
      link
      fedilink
      English
      arrow-up
      14
      ·
      12 hours ago

      only true if your language compiles to c. fortran peeps are safe.

    • nialv7@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      10 hours ago

      It’s not what you can use that language to do - all general purpose languages are Turing Complete, so what you can do with them is exactly equal. It is about what the language will do for you. Rust compiler will stop you from writing memory unsafe code, C compiler cannot do that.

      • Rednax@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        10 hours ago

        But how does the Rust compiler do that? What does it actually check? Could I write a compiler in C that does this check on a piece of Rust code?

        C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.

        It is often pointless to actually implement the feature in C, since the feature already has a good implementation (see the Rust compiler for the memory safety). But understanding these features, and being able to mentally think about what it takes in C to implement them, is still helpfull for gaining an understanding of the feature.

      • qjkxbmwvz@startrek.website
        link
        fedilink
        arrow-up
        3
        ·
        10 hours ago

        …are Turing Complete, so what you can do with them is exactly equal.

        But they’re only equal in the Turing complete sense, which (iirc) says nothing about performance or timing.