• @FuckBigTech347@lemmygrad.ml
      link
      fedilink
      13 hours ago

      Coding directly in assembly is rare.

      I used to think that, but when you’re dealing with a lot of low-level stuff you’ll eventually realize that Compilers are pretty bad at generating fast and reliable Assembly where it’s needed. Also, some Architectures have specific machine instructions that Compilers just don’t take advantage of, no matter what flags you enable.

      • @CanadaPlus@lemmy.sdf.org
        link
        fedilink
        1
        edit-2
        3 hours ago

        Also, some Architectures have specific machine instructions that Compilers just don’t take advantage of, no matter what flags you enable.

        Interesting. Do you have some examples?

        Writing those frequently-called leaf functions in assembly has certainly far outlived it’s use in other places. But, the word on the street, or I guess the conventional wisdom, is that compilers have gradually caught up even there.

    • Avicenna
      cake
      link
      fedilink
      21
      edit-2
      1 day ago

      The C which is an integral part of every linux kernel on every computer and server running linux as the OS and all the embedded systems everywhere and almost all the performance critical parts of python libraries?

      I won’t have much to say about assembly since don’t use it but far as I know low level parts of OS such as bootloader likely still uses assembly not to also mention embedded systems.

      As long as both of these exist in embedded systems, it is just statistically weird to call it obsolete even in regards to other languages.

      For instance data scientists majorly use python, but python critically depends on C and devices they use critically depend on C and assembly. Can you then really say what they do does not depend on C and assembly and python is more widely used?

        • @Blackmist@feddit.uk
          link
          fedilink
          English
          21 day ago

          Compilers are pretty damn good at doing that by now.

          I can believe there’s some direct assembly usage down in the depths of Unity and Unreal engines, but the average game dev is probably not going to touch it.

          • @sunbeam60@lemmy.ml
            link
            fedilink
            216 hours ago

            I’d agree that the average game dev is on Unity or unreal and won’t be hand optimizing any inner loops.

            But there are a surprising amount of studios still on their own tech and there the low-level engineers definitely do (I’ve worked in the industry and have seen it first hand - and done it myself).

            It also tends to be at the start of a console’s life span before the compiler and linker is mature up against the hardware.

      • @CanadaPlus@lemmy.sdf.org
        link
        fedilink
        -11 day ago

        So, the Linux kernel is already partially moved over to Rust. It’s probably in the Python ecosystem too, although I can’t actually say.

        More obsolete was a deliberate word choice. Hell, even COBOL is still used.

        • Avicenna
          cake
          link
          fedilink
          51 day ago

          yea but Rust is not above %80 of the languages in the chart. It is not just a matter of C being more obsolete than Rust it is more like C being one of the most obsolete in the chart. Can’t call it that until it is replaced %80 by something else in systems that exists world-wide and everywhere.

          • @CanadaPlus@lemmy.sdf.org
            link
            fedilink
            21 day ago

            I’d actually use some kind of projected future to define obsoleteness. Like, fossil fuels are obsolete relative to renewables, because there’s going to be more going forwards even though there’s more fossil fuels right now.

            Athough, I have no idea if Mojo or Nim are going anywhere, and Brainfuck isn’t. Maybe there’s a dimension of novelty that’s also flattened into that axis.