Subj : Re: RIP Niklaus Wirth To : Nightfox From : tenser Date : Thu Jan 18 2024 14:44:28 On 17 Jan 2024 at 09:18a, Nightfox pondered and said... Ni> te> I've heard claims like this before, but I haven't experienced it myse Ni> te> I came to Rust very skeptical, but figured if it could deliver on eve Ni> te> quarter of its claims I'd be way ahead of C; it's pleasantly surprise Ni> te> and I've been using it professionally for about 5 years now. One _ca Ni> Ni> What are you using it for? I've heard people like Rust, but none of the Ni> companies I've worked at have used Rust at all. Me personally, mostly kernel level code. I've written one small kernel, one complete operating system (well, the kernel and C library are in Rust; most of the userspace programs are in C), two virtual machine monitors (that is, the component of a hypervisor that drives the virtualization hardware and OS components; not the userspace part like QEMU or proxmox. Both of these were type-1 hypervisors, so think something equivalent to Xen), and the boot loader that runs from the reset vector on the machines we build and sell for work. I've done a smattering of userspace programs and libraries, too, but it's been mostly bare metal on big multicore x86 machines. Oh! I wrote the firmware for an optical mouse I designed and built that's a clone of the old Depraz mouse. That uses embassy on an STM32 microcontroller (ARM Cortex-M). I remember when we were writing the first hypervisor and I wrote the code to parse ACPI tables and find all the processors; the code walked the ACPI tables after it found them in physical memory and built little data structures representing them; this is really early bringup code and I didn't have a memory allocator yet, so I stored the parsed representation of the tables in a static array; I think it had 10 elements. When I first ran it, it was under QEMU and that only had like 3 or 4 tables. But the first time I ran it on real hardware, all of a sudden there were a dozen or so: more than I had space for. But, it was a debug build, so all array accesses are bounds checked; I got a well-formed panic and the machine stopped in a halt loop. Had it been C, I'd probably just have walked off the end of the array and trashed memory that early. It struck me that this was REALLY powerful, and the hair on my arm actually stood up on end. --- Mystic BBS v1.12 A48 (Linux/64) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .