• davel [he/him]
          link
          fedilink
          English
          15
          edit-2
          11 months ago

          😂

          node-os is a full operating system built on top of the linux kernel

        • @[email protected]
          link
          fedilink
          English
          8
          edit-2
          11 months ago

          It seems the cancer has metastasized. First to the backend, now to the entire operating system.

      • @[email protected]
        cake
        link
        fedilink
        611 months ago

        Ease of access to the underlying hardware in your programming language is only ever needed for embedded programming in the current year. Change my mind.

        • @[email protected]
          link
          fedilink
          911 months ago

          There are actual use cases where direct memory access and pointer magic can be very efficient or almost necessary. We work a lot with large images and basically always the first steps are some pointer operations.

        • @marcos
          link
          811 months ago

          It’s required for drivers too.

        • davel [he/him]
          link
          fedilink
          English
          6
          edit-2
          11 months ago

          Every operating system running on bare metal needs access to the hardware. And if not on bare metal, it needs access to the virtual hardware.

    • smpl
      link
      fedilink
      English
      711 months ago

      Because RAM is so cheap, right?

      • umulu
        link
        611 months ago

        Even for small 4/8 bit soc systems?

        I had the idea that C was the go-to language for that.

        • @[email protected]
          link
          fedilink
          211 months ago

          Yes: https://github.com/avr-rust

          When you’re writing code involving global state and interrupts, and any access to an integer larger than a u8 needs to be surrounded by cli() and sei() just for guaranteed atomicity, then you will truly come to value rust’s statically enforced thread / memory safety.

        • @[email protected]
          link
          fedilink
          2
          edit-2
          11 months ago

          Are those still in use? With how cheap modern MCUs got, it kinda seems like it often makes more sense to get smth a bit more powerful and get the benefits of overall easier and faster development. May be wrong here, tho – it’s not like I compared numbers or something

          Addit: I mean, 8 bit may easily still be a bit cheaper, yet corps will likely spend more than the difference in price paying devs

        • @excitingburp
          link
          111 months ago

          It probably won’t do anything less than 32bit, so that’s at least one thing C is good for.

    • @[email protected]
      link
      fedilink
      211 months ago

      For years I wrote embedded C for 8 bit microcontrollers used in industrial controls.

      Never again.

      Rust is by far a better language for embedded. The only times I would consider it reasonable to write embedded code in C is if you’re doing it for fun, or you depend on an existing and well tested / audited codebase or library and your application logic is less complicated than rust to C FFI.

      Even then, you won’t find me contributing to that effort.

    • @[email protected]
      link
      fedilink
      111 months ago

      Rust is making inroads.

      Or micropython. That might sound nuts, but consider that Python was released two years after the 486 and two years before the Pentium. The RP2040 microcontroller has a far higher clock rate than those, has dual cores, and costs a dollar. It may lack RAM compared to some of those desktops at the time, though.