De reden waarom ik niet met Python (PyPy), GO of C# verder wou gaan, was puur en enkel de Garbage Collector dat te vaak mijn app een halt gaf, en dit kon je op geen enkele simpele manier oplossen.
Rust heeft dit zo goed opgelost, dat je de Garbage Collector amper tot niet ziet tijdens gebruik van je app.
Mensen beweren dat Rust geen Garbage Collector bevat, maar dit doet hij wel, alleen is deze al direct actief wanneer je een function scope uit gaat, en dat gaat zo snel dat je er amper wat van ziet gebeuren, kortom, perfect.
Is ook een reden waarom Twitch ook was verhuist van Python naar Rust, en GO geskipped heeft.
Weet je zeker dat Rust garbage collection heeft (of : “altijd heeft” ) ?
Rust is bezig toegevoegd te worden aan de Linux kernel, als mogelijke alternatieve taal (naast C) om delen van de kernel in te schrijven – typisch device drivers en andere ‘leaf’ elementen.
Garbage Collection (wat typisch inhoudt – onverwacht/onvoorspelbaar “iets anders” gaan doen ) is in een OS kernel heel erg ongewenst .
Ik weet niet hoeveel of in hoeverre Rust-voor-de-kernel aangepast is tov van “standaard Rust”, of dat bepaalde Rust constructies een melding “do not use in the kernel” hebben , maar het is in elk geval zo sommige eigenschappen van talen de taal ongeschikt maken voor een OS kernel (of bv een real time systeem) .
Ik kon met een beetje google niet meteen iets vinden of Rust nu wel of geen GC heeft maar diverse postings van memsen die vooral zeggen “compile time checks” .
Rust en linux kernel : https://www.memorysafety.org/blog/memory-safety-in-linux-kernel/
Bron: Security.nl