News for hackers. Stuff that matters.
Re:Building a Cloud Database from Scratch: Why We Moved from... by kaba0 on Saturday May 28, 2022 @04:09AM (#31538524)
I recently wrote a toy JVM implementation in Rust where basically the whole Java-semantic memory management has to happen without the borrow-checker’s guarantees.

But contrary to expectations, I didn’t have many unsafe usages — they were all hidden under some abstraction (like allocate_object function of an ObjectPool), there is perhaps 7-8 in the whole (semi-partial) implementation? (Though it doesn’t yet have a GC, so there is that).

So all in all, in my anecdotal experience one can reasonably well hide the unsafe usages and then use the good expressivity of the language to combine these APIs in strictly safe ways. I also ran the program regularly through MIRI (a rust AST interpreter, which is similar to Valgrind in goals for my use-case) and whenever I found a memory bug I could pin-point it to a few lines of code at most, greatly speeding up debugging.

Re:Building a Cloud Database from Scratch: Why We Moved from... by evnix on Sunday May 29, 2022 @04:56AM (#31547590)
do you have it somewhere on github? I would definitely want to check it out